Changeset 27773
- Timestamp:
- 05/21/23 20:03:36 (23 months ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r27717 r27773 42 42 IssmDouble *Tamp, 43 43 IssmDouble *tmin, IssmDouble *tmax, IssmDouble *tmid, IssmDouble *mcrit, IssmDouble *wcrit, IssmDouble *tau_a, IssmDouble* tau_f, IssmDouble *afac, bool *verbose, 44 IssmDouble *tsurf_out, IssmDouble *smb_out, IssmDouble *smbi_out, IssmDouble *smbs_out, IssmDouble *saccu_out, IssmDouble *smelt_out, IssmDouble * albedo_out, IssmDouble *albedo_snow_out, IssmDouble *hsnow_out, IssmDouble *hice_out, IssmDouble *qmr_out);44 IssmDouble *tsurf_out, IssmDouble *smb_out, IssmDouble *smbi_out, IssmDouble *smbs_out, IssmDouble *saccu_out, IssmDouble *smelt_out, IssmDouble *refr_out, IssmDouble *albedo_out, IssmDouble *albedo_snow_out, IssmDouble *hsnow_out, IssmDouble *hice_out, IssmDouble *qmr_out); 45 45 #endif 46 46 // _HAVE_SEMIC_ … … 4251 4251 IssmDouble* saccu_out =xNew<IssmDouble>(NUM_VERTICES); memset(saccu_out, 0., NUM_VERTICES*sizeof(IssmDouble)); 4252 4252 IssmDouble* smelt_out =xNew<IssmDouble>(NUM_VERTICES); memset(smelt_out, 0., NUM_VERTICES*sizeof(IssmDouble)); 4253 IssmDouble* refr_out =xNew<IssmDouble>(NUM_VERTICES); memset(refr_out, 0., NUM_VERTICES*sizeof(IssmDouble)); 4253 4254 IssmDouble* albedo_out =xNew<IssmDouble>(NUM_VERTICES); memset(albedo_out, 0., NUM_VERTICES*sizeof(IssmDouble)); 4254 4255 IssmDouble* albedo_snow_out =xNew<IssmDouble>(NUM_VERTICES); memset(albedo_snow_out, 0., NUM_VERTICES*sizeof(IssmDouble)); … … 4426 4427 Tamp_in, 4427 4428 &tmin, &tmax, &tmid, &mcrit, &wcrit, &tau_a, &tau_f, &afac, &semic_verbose, 4428 tsurf_out, smb_out, smbi_out, smbs_out, saccu_out, smelt_out, albedo_out, albedo_snow_out, hsnow_out, hice_out, qmr_out);4429 tsurf_out, smb_out, smbi_out, smbs_out, saccu_out, smelt_out, refr_out, albedo_out, albedo_snow_out, hsnow_out, hice_out, qmr_out); 4429 4430 4430 4431 for (int iv = 0; iv<NUM_VERTICES; iv++){ … … 4438 4439 saccu_out[iv] = saccu_out[iv]*yts; // w.e. m/sec -> m/yr 4439 4440 } 4441 /* 4442 * unit conversion is not required for smelt and refr_out. 4443 */ 4440 4444 4441 4445 if(isverbose && this->Sid()==0){ … … 4453 4457 //this->AddInput(SmbMassBalanceTotalEnum,&smb_out[0],P1DGEnum); 4454 4458 // water equivalent SMB ice to ice equivalent. 4455 this->AddInput(SmbMassBalanceEnum, &smbi_out[0],P1DGEnum);4456 this->AddInput(SmbMassBalanceIceEnum, &smbi_out[0],P1DGEnum);4457 this->AddInput(SmbMassBalanceSnowEnum, &smbs_out[0],P1DGEnum);4459 this->AddInput(SmbMassBalanceEnum, &smbi_out[0],P1DGEnum); 4460 this->AddInput(SmbMassBalanceIceEnum, &smbi_out[0],P1DGEnum); 4461 this->AddInput(SmbMassBalanceSnowEnum, &smbs_out[0],P1DGEnum); 4458 4462 this->AddInput(SmbMassBalanceSemicEnum,&smb_out[0],P1DGEnum); 4459 4463 //this->AddInput(SmbMassBalanceSnowEnum,&smbs_out[0],P1DGEnum); … … 4462 4466 // smelt 4463 4467 this->AddInput(SmbMeltEnum, &smelt_out[0],P1DGEnum); 4468 this->AddInput(SmbRefreezeEnum, &refr_out[0],P1DGEnum); 4464 4469 this->AddInput(SmbAlbedoEnum, &albedo_out[0],P1DGEnum); 4465 4470 this->AddInput(SmbAlbedoSnowEnum, &albedo_snow_out[0],P1DGEnum); … … 4497 4502 xDelete<IssmDouble>(saccu_out); 4498 4503 xDelete<IssmDouble>(smelt_out); 4504 xDelete<IssmDouble>(refr_out); 4499 4505 xDelete<IssmDouble>(albedo_out); 4500 4506 xDelete<IssmDouble>(albedo_snow_out); -
issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/run_semic_transient.f90
r27646 r27773 8 8 Tamp, & 9 9 tmin, tmax, tmid, mcrit, w_crit, tau_a, tau_f, afac, verbose, & 10 tsurf_out, smb_out, smbi_out, smbs_out, saccu_out, smelt_out, alb_out, &10 tsurf_out, smb_out, smbi_out, smbs_out, saccu_out, smelt_out, refr_out, alb_out, & 11 11 alb_snow_out,hsnow_out,hice_out,qmr_out) !{{{ 12 12 … … 55 55 double precision, intent(out), dimension(nx):: saccu_out ! accumulation [m/s] 56 56 double precision, intent(out), dimension(nx):: smelt_out ! ablation [m/s] 57 double precision, intent(out), dimension(nx):: refr_out ! freezing [m/s] 57 58 double precision, intent(out), dimension(nx):: alb_out ! grid-averaged albedo [no unit] 58 59 double precision, intent(out), dimension(nx):: alb_snow_out … … 232 233 saccu_out =surface%now%acc ! acc = snowfall - sublimiation - refreezing 233 234 smelt_out =surface%now%melt ! potential surface melt = melt_ice + melt_snow 235 refr_out =surface%now%refr ! refreezing values. [m/sec] 234 236 alb_out =surface%now%alb 235 237 alb_snow_out =surface%now%alb_snow -
issm/trunk-jpl/src/m/classes/SMBsemic.m
r27652 r27773 89 89 if self.ismethod == 1 90 90 list = {'SmbMassBalance','SmbMassBalanceSnow','SmbMassBalanceIce',... 91 'SmbMassBalanceSemic','SmbMelt','Smb Accumulation',...91 'SmbMassBalanceSemic','SmbMelt','SmbRefreeze','SmbAccumulation',... 92 92 'SmbHIce','SmbHSnow','SmbAlbedo','SmbAlbedoSnow','TemperatureSEMIC',... 93 93 'SmbSemicQmr'}; … … 257 257 end 258 258 % albedo_scheme - 0: none, 1: slater, 2: isba, 3: denby, 4: alex. 259 if self.albedo_scheme == 1 260 disp(sprintf('\n\tSEMIC snow albedo parameters for Slater et al, (1998).')); 259 if self.albedo_scheme == 0: 260 disp(sprintf('\n\tSEMIC snow albedo parameter of None.')); 261 disp(sprintf('\t albedo of snow is updated from albedo snow max (alb_smax).')); 262 disp(sprintf('\t alb_snow = abl_smax')); 263 elseif self.albedo_scheme == 1 264 disp(sprintf('\n\tSEMIC snow albedo parameters of Slater et al, (1998).')); 261 265 disp(sprintf('\t alb = alb_smax - (alb_smax - alb_smin)*tm^(3.0)')) 262 266 disp(sprintf('\t tm = 1 (tsurf > 273.15 K)')); -
issm/trunk-jpl/src/m/classes/SMBsemic.py
r27513 r27773 113 113 s += '{}\n'.format(fielddisplay(self,'albl','background albedo for bare land (default: 0.07)')) 114 114 # albedo_scheme - 0: none, 1: slater, 2: isba, 3: denby, 4: alex. 115 if self.albedo_scheme == 1: 116 s += '\n\tSEMIC snow albedo parameters for Slater et al, (1998).\n' 115 if self.albedo_scheme == 0: 116 s += '\n\tSEMIC snow albedo parameter of None.\n' 117 s += '\t albedo of snow is updated from albedo snow max (alb_smax).\n' 118 s += '\t alb_snow = abl_smax \n ' 119 elif self.albedo_scheme == 1: 120 s += '\n\tSEMIC snow albedo parameters of Slater et al, (1998).\n' 117 121 s += '\t alb = alb_smax - (alb_smax - alb_smin)*tm^(3.0)\n' 118 122 s += '\t tm = 1 (tsurf > 273.15 K)\n' … … 123 127 s += '{}\n'.format(fielddisplay(self, 'tmax', 'maxmium temperature for which albedo decline become effective. This value should be fixed. (default: 273.15 K)[unit: K])')) 124 128 elif self.albedo_scheme == 2: 125 s += '\n\tSEMIC snow albedo parameters forISBA.? where is citation?\n'129 s += '\n\tSEMIC snow albedo parameters of ISBA.? where is citation?\n' 126 130 s += '{}\n'.format(fielddisplay(self, 'mcrit', 'critical melt rate (default: 6e-8) [unit: m/sec]')) 127 131 s += '{}\n'.format(fielddisplay(self, 'wcrit', 'critical liquid water content (default: 15) [unit: kg/m2]')) … … 129 133 s += '{}\n'.format(fielddisplay(self, 'tau_f', 'wet albedo decline [unit: 1/day]')) 130 134 elif self.albedo_scheme == 3: 131 s += '\n\tSEMIC snow albedo parameters forDenby et al. (2002 Tellus)\n'135 s += '\n\tSEMIC snow albedo parameters of Denby et al. (2002 Tellus)\n' 132 136 s += '{}\n'.format(fielddisplay(self,'mcrit','critical melt rate (defaut: 6e-8) [unit: m/sec]')) 133 137 elif self.albedo_scheme == 4: 134 s += '\n\tSEMIC snow albedo parameters forAlex.?\n'138 s += '\n\tSEMIC snow albedo parameters of Alex.?\n' 135 139 s += '{}\n'.format(fielddisplay(self,'afac','[unit: ?]')) 136 140 s += '{}\n'.format(fielddisplay(self,'tmid','[unit: ?]')) … … 167 171 def outputlists(self, md): # {{{ 168 172 if self.ismethod: 169 list = ['SmbMassBalance', 'SmbMassBalanceSnow', 'SmbMelt', 'SmbAccumulation', 'SmbHIce', 'SmbHSnow', 'SmbAlbedo', 'SmbAlbedoSnow', 'TemperatureSEMIC'] 173 list = ['SmbMassBalance', 'SmbMassBalanceSnow', 'SmbMassBalanceIce', 174 'SmbMassBalanceSecmi', 'SmbMelt', 'SmbRefreeze','SmbAccumulation', 175 'SmbHIce', 'SmbHSnow', 'SmbAlbedo', 'SmbAlbedoSnow', 'TemperatureSEMIC', 176 'SmbSemicQmr'] 170 177 else: 171 178 list = ['SmbMassBalance']
Note:
See TracChangeset
for help on using the changeset viewer.