Changeset 25777
- Timestamp:
- 11/23/20 09:10:36 (4 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
r25775 r25777 114 114 break; 115 115 case BeckmannGoosseFloatingMeltRateEnum: 116 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.meltrate_factor",BasalforcingsMeltrateFactorEnum); 116 117 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_salinity",BasalforcingsOceanSalinityEnum); 117 118 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum); -
issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
r25775 r25777 203 203 break; 204 204 case BeckmannGoosseFloatingMeltRateEnum: 205 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.meltrate_factor",BasalforcingsMeltrateFactorEnum); 205 206 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_salinity",BasalforcingsOceanSalinityEnum); 206 207 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum); -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r25775 r25777 818 818 break; 819 819 case BeckmannGoosseFloatingMeltRateEnum: 820 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.basin_id",BasalforcingsIsmip6BasinIdEnum); 820 821 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_salinity",BasalforcingsOceanSalinityEnum); 821 822 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum); -
issm/trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
r25775 r25777 141 141 break; 142 142 case BeckmannGoosseFloatingMeltRateEnum: 143 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.meltrate_factor",BasalforcingsMeltrateFactorEnum); 143 144 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_salinity",BasalforcingsOceanSalinityEnum); 144 145 iomodel->FetchDataToInput(inputs,elements,"md.basalforcings.ocean_temp",BasalforcingsOceanTempEnum); -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r25775 r25777 2373 2373 2374 2374 int numvertices = this->GetNumberOfVertices(); 2375 IssmDouble meltratefactor,T_f,ocean_heat_flux;2375 IssmDouble T_f,ocean_heat_flux; 2376 2376 IssmDouble rho_water = this->FindParam(MaterialsRhoSeawaterEnum); 2377 2377 IssmDouble rho_ice = this->FindParam(MaterialsRhoIceEnum); … … 2380 2380 IssmDouble thermal_exchange_vel = this->FindParam(MaterialsThermalExchangeVelocityEnum); 2381 2381 2382 IssmDouble* base = xNew<IssmDouble>(numvertices); 2383 IssmDouble* values = xNew<IssmDouble>(numvertices); 2384 IssmDouble* oceansalinity = xNew<IssmDouble>(numvertices); 2385 IssmDouble* oceantemp = xNew<IssmDouble>(numvertices); 2382 IssmDouble base[MAXVERTICES]; 2383 IssmDouble values[MAXVERTICES]; 2384 IssmDouble oceansalinity [MAXVERTICES]; 2385 IssmDouble oceantemp[MAXVERTICES]; 2386 IssmDouble meltratefactor[MAXVERTICES]; 2386 2387 2387 2388 this->GetInputListOnVertices(base,BaseEnum); 2388 2389 this->GetInputListOnVertices(oceansalinity,BasalforcingsOceanSalinityEnum); 2389 2390 this->GetInputListOnVertices(oceantemp,BasalforcingsOceanTempEnum); 2390 parameters->FindParam(&meltratefactor,BasalforcingsMeltrateFactorEnum);2391 this->GetInputListOnVertices(meltratefactor,BasalforcingsMeltrateFactorEnum); 2391 2392 2392 2393 Gauss* gauss=this->NewGauss(); … … 2396 2397 // compute ocean_heat_flux according to beckmann_goosse2003 2397 2398 // positive, if T_oc > T_ice ==> heat flux FROM ocean TO ice 2398 ocean_heat_flux = meltratefactor * rho_water * mixed_layer_capacity * thermal_exchange_vel * (oceantemp[i] - T_f); // in W/m^22399 ocean_heat_flux = meltratefactor[i] * rho_water * mixed_layer_capacity * thermal_exchange_vel * (oceantemp[i] - T_f); // in W/m^2 2399 2400 2400 2401 // shelfbmassflux is positive if ice is freezing on; here it is always negative: … … 2404 2405 2405 2406 this->AddInput(BasalforcingsFloatingiceMeltingRateEnum,values,P1Enum); 2406 xDelete<IssmDouble>(base);2407 xDelete<IssmDouble>(values);2408 xDelete<IssmDouble>(oceantemp);2409 xDelete<IssmDouble>(oceansalinity);2410 2407 delete gauss; 2411 2408 }/*}}}*/ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r25775 r25777 245 245 break; 246 246 case BeckmannGoosseFloatingMeltRateEnum: 247 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.meltrate_factor",BasalforcingsMeltrateFactorEnum));248 247 break; 249 248 default: -
issm/trunk-jpl/src/m/classes/basalforcingsbeckmanngoosse.m
r24145 r25777 1 % MISMIPBASAL FORCINGS class definition1 %BECKMANNGOOSSE BASAL FORCINGS class definition 2 2 % 3 3 % Usage: … … 8 8 groundedice_melting_rate = NaN; 9 9 geothermalflux = NaN; 10 meltrate_factor = NaN;11 ocean_temp = NaN;10 meltrate_factor = 0.; 11 ocean_temp = 0.; 12 12 ocean_salinity = NaN; 13 13 end … … 64 64 md = checkfield(md,'fieldname','basalforcings.ocean_temp','NaN',1,'Inf',1,'timeseries',1); 65 65 md = checkfield(md,'fieldname','basalforcings.ocean_salinity','NaN',1,'Inf',1,'timeseries',1); 66 md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,' numel',1);66 md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'universal',1,'NaN',1,'Inf',1); 67 67 end 68 68 if ismember('BalancethicknessAnalysis',analyses), … … 70 70 md = checkfield(md,'fieldname','basalforcings.ocean_temp','NaN',1,'Inf',1,'timeseries',1); 71 71 md = checkfield(md,'fieldname','basalforcings.ocean_salinity','NaN',1,'Inf',1,'timeseries',1); 72 md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,' numel',1);72 md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'universal',1,'NaN',1,'Inf',1); 73 73 end 74 74 if ismember('ThermalAnalysis',analyses) & ~(solution=='TransientSolution' & md.transient.isthermal==0), 75 75 md = checkfield(md,'fieldname','basalforcings.groundedice_melting_rate','NaN',1,'Inf',1,'timeseries',1); 76 md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'numel',1);77 76 md = checkfield(md,'fieldname','basalforcings.geothermalflux','NaN',1,'Inf',1,'timeseries',1,'>=',0); 77 md = checkfield(md,'fieldname','basalforcings.meltrate_factor','>=',0,'universal',1,'NaN',1,'Inf',1); 78 78 end 79 79 end % }}} … … 98 98 99 99 100 WriteData(fid,prefix,'name','md.basalforcings.model','data',8,'format','Integer');100 WriteData(fid,prefix,'name','md.basalforcings.model','data',8,'format','Integer'); 101 101 WriteData(fid,prefix,'data',floatingice_melting_rate,'format','DoubleMat','name','md.basalforcings.floatingice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 102 102 WriteData(fid,prefix,'object',self,'fieldname','groundedice_melting_rate','format','DoubleMat','name','md.basalforcings.groundedice_melting_rate','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1) 103 103 WriteData(fid,prefix,'object',self,'fieldname','geothermalflux','name','md.basalforcings.geothermalflux','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 104 WriteData(fid,prefix,'object',self,'fieldname','meltrate_factor','format','Double ','name','md.basalforcings.meltrate_factor');104 WriteData(fid,prefix,'object',self,'fieldname','meltrate_factor','format','DoubleMat','mattype',1,'name','md.basalforcings.meltrate_factor'); 105 105 WriteData(fid,prefix,'object',self,'fieldname','ocean_temp','format','DoubleMat','name','md.basalforcings.ocean_temp','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); 106 106 WriteData(fid,prefix,'object',self,'fieldname','ocean_salinity','format','DoubleMat','name','md.basalforcings.ocean_salinity','mattype',1,'timeserieslength',md.mesh.numberofvertices+1); -
issm/trunk-jpl/src/m/contrib/morlighem/modeldata/interpSmith2020.m
r24875 r25777 4 4 % Available data: 5 5 % Filtered mass-change maps, for display only, units of m(ice-equivalent)/yr: 6 % ais_floating_filt .tif7 % ais_grounded_filt .tif8 % gris_filt .tif9 6 % ais_floating_filt 7 % ais_grounded_filt 8 % gris_filt 9 % 10 10 % Raw mass-change maps, suitable for generation of basin-by-basin mass-change estimates, units of m(ice-equivalent)/yr: 11 % ais_floating .tif12 % ais_grounded .tif13 % gris .tif11 % ais_floating 12 % ais_grounded 13 % gris 14 14 % 15 15 % Usage:
Note:
See TracChangeset
for help on using the changeset viewer.