- Timestamp:
- 04/16/21 10:47:27 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r26097 r26196 30 30 bool autodiff_mass_flux_present = false; 31 31 bool mass_flux_present = false; 32 bool interp ;32 bool interp,cycle; 33 33 IssmDouble **array = NULL; 34 34 int *mdims_array = NULL; … … 160 160 case LinearFloatingMeltRateEnum: 161 161 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 162 iomodel->FindConstant(&cycle,"md.timestepping.cycle_forcing"); 162 163 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_melting_rate"); 163 164 if(N==1){ … … 167 168 else{ 168 169 _assert_(N==2); 169 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterMeltingRateEnum,&transparam[0],&transparam[M],interp, M));170 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterMeltingRateEnum,&transparam[0],&transparam[M],interp,cycle,M)); 170 171 } 171 172 xDelete<IssmDouble>(transparam); … … 177 178 else{ 178 179 _assert_(N==2); 179 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterMeltingRateEnum,&transparam[0],&transparam[M],interp, M));180 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterMeltingRateEnum,&transparam[0],&transparam[M],interp,cycle,M)); 180 181 } 181 182 xDelete<IssmDouble>(transparam); … … 187 188 else{ 188 189 _assert_(N==2); 189 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp, M));190 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp,cycle,M)); 190 191 } 191 192 xDelete<IssmDouble>(transparam); … … 197 198 else{ 198 199 _assert_(N==2); 199 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterElevationEnum,&transparam[0],&transparam[M],interp, M));200 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterElevationEnum,&transparam[0],&transparam[M],interp,cycle,M)); 200 201 } 201 202 xDelete<IssmDouble>(transparam); … … 224 225 case BasalforcingsPicoEnum: 225 226 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 227 iomodel->FindConstant(&cycle,"md.timestepping.cycle_forcing"); 226 228 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.num_basins",BasalforcingsPicoNumBasinsEnum)); 227 229 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.maxboxcount",BasalforcingsPicoMaxboxcountEnum)); … … 230 232 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_temperature"); 231 233 _assert_(M>=1 && N>=1); 232 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceantemperatureEnum,transparam,&transparam[N*(M-1)],interp, N,M));234 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceantemperatureEnum,transparam,&transparam[N*(M-1)],interp,cycle,N,M)); 233 235 xDelete<IssmDouble>(transparam); 234 236 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_salinity"); 235 237 _assert_(M>=1 && N>=1); 236 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceansalinityEnum,transparam,&transparam[N*(M-1)],interp, N,M));238 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceansalinityEnum,transparam,&transparam[N*(M-1)],interp,cycle,N,M)); 237 239 xDelete<IssmDouble>(transparam); 238 240 break; … … 266 268 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.time_step",TimesteppingTimeStepEnum)); 267 269 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.interp_forcings",TimesteppingInterpForcingsEnum)); 270 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.cycle_forcing",TimesteppingCycleForcingEnum)); 268 271 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.coupling_time",TimesteppingCouplingTimeEnum)); 269 272 break; … … 275 278 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.cfl_coefficient",TimesteppingCflCoefficientEnum)); 276 279 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.interp_forcings",TimesteppingInterpForcingsEnum)); 280 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.cycle_forcing",TimesteppingCycleForcingEnum)); 277 281 parameters->AddObject(iomodel->CopyConstantObject("md.timestepping.coupling_time",TimesteppingCouplingTimeEnum)); 278 282 break;
Note:
See TracChangeset
for help on using the changeset viewer.