Changeset 22643
- Timestamp:
- 03/28/18 09:39:35 (7 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Params/DoubleParam.h
r22628 r22643 44 44 void GetParameterValue(int** pintarray,int* pM); 45 45 void GetParameterValue(int** pintarray,int* pM,int* pN); 46 void GetParameterValue(IssmDouble* pIssmDouble){*pIssmDouble=value;} 47 void GetParameterValue(IssmDouble* pdouble,IssmDouble time){ _error_("Param "<< EnumToStringx(enum_type) << " cannot return a IssmDouble for a given time");}46 void GetParameterValue(IssmDouble* pIssmDouble){*pIssmDouble=value;}; 47 void GetParameterValue(IssmDouble* pdouble,IssmDouble time){*pdouble=value;}; 48 48 void GetParameterValue(char** pstring){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string");} 49 49 void GetParameterValue(char*** pstringarray,int* pM){_error_("Param "<< EnumToStringx(enum_type) << " cannot return a string array");} -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r22628 r22643 178 178 iomodel->FindConstant(&interp,"md.timestepping.interp_forcings"); 179 179 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_melting_rate"); 180 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterMeltingRateEnum,&transparam[0],&transparam[M],interp,M)); _assert_(N==2 || N==1); 180 if(N==1){ 181 _assert_(M==1); 182 parameters->AddObject(new DoubleParam(BasalforcingsDeepwaterMeltingRateEnum,transparam[0])); 183 } 184 else{ 185 _assert_(N==2); 186 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterMeltingRateEnum,&transparam[0],&transparam[M],interp,M)); 187 } 188 xDelete<IssmDouble>(transparam); 181 189 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.deepwater_elevation"); 182 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp,M)); _assert_(N==2 || N==1); 190 if(N==1){ 191 _assert_(M==1); 192 parameters->AddObject(new DoubleParam(BasalforcingsDeepwaterElevationEnum,transparam[0])); 193 } 194 else{ 195 _assert_(N==2); 196 parameters->AddObject(new TransientParam(BasalforcingsDeepwaterElevationEnum,&transparam[0],&transparam[M],interp,M)); 197 } 198 xDelete<IssmDouble>(transparam); 183 199 iomodel->FetchData(&transparam,&N,&M,"md.basalforcings.upperwater_elevation"); 184 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterElevationEnum,&transparam[0],&transparam[M],interp,M)); _assert_(N==2 || N==1); 200 if(N==1){ 201 _assert_(M==1); 202 parameters->AddObject(new DoubleParam(BasalforcingsUpperwaterElevationEnum,transparam[0])); 203 } 204 else{ 205 _assert_(N==2); 206 parameters->AddObject(new TransientParam(BasalforcingsUpperwaterElevationEnum,&transparam[0],&transparam[M],interp,M)); 207 } 208 xDelete<IssmDouble>(transparam); 185 209 break; 186 210 case MismipFloatingMeltRateEnum: … … 210 234 parameters->AddObject(iomodel->CopyConstantObject("md.basalforcings.gamma_T",BasalforcingsPicoGammaTEnum)); 211 235 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_temperature"); 236 _assert_(M==2 && N>1); 212 237 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceantemperatureEnum,transparam,&transparam[N*(M-1)],interp,M,N)); 213 238 xDelete<IssmDouble>(transparam); 214 239 iomodel->FetchData(&transparam,&M,&N,"md.basalforcings.farocean_salinity"); 240 _assert_(M==2 && N>1); 215 241 parameters->AddObject(new TransientArrayParam(BasalforcingsPicoFarOceansalinityEnum,transparam,&transparam[N*(M-1)],interp,M,N)); 216 242 xDelete<IssmDouble>(transparam);
Note:
See TracChangeset
for help on using the changeset viewer.