Ignore:
Timestamp:
08/29/15 11:55:39 (10 years ago)
Author:
Eric.Larour
Message:

CHG: moved md.surfaceforcings to md.smb.
By doing so, had to rename the SMB class to SMBforcing class (it's just that, a mass_balance forcing inside
a SMB class, hence the name).
We also now have an smb_core solution, taken out of the mass transport core. Makes more sense long term.
Synced all enums according to the new changes, and operated the adjustments in all the test decks.

In addition, progressing in terms of GEMB integration into ISSM, specifically at the SMBgemb level (which
is spurring all the changes described above). Brought the class up to the level of the GEMB.m call in Alex's
code. Starting the C integration now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp

    r19479 r19527  
    7777                parameters->AddObject(iomodel->CopyConstantObject(TransientIsstressbalanceEnum));
    7878                parameters->AddObject(iomodel->CopyConstantObject(TransientIsmasstransportEnum));
     79                parameters->AddObject(iomodel->CopyConstantObject(TransientIssmbEnum));
    7980                parameters->AddObject(iomodel->CopyConstantObject(TransientIsthermalEnum));
    8081                parameters->AddObject(iomodel->CopyConstantObject(TransientIsgroundinglineEnum));
     
    99100
    100101        /*Surface mass balance parameters*/
    101         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsEnum));
    102         iomodel->Constant(&smb_model,SurfaceforcingsEnum);
     102        parameters->AddObject(iomodel->CopyConstantObject(SmbEnum));
     103        iomodel->Constant(&smb_model,SmbEnum);
    103104        iomodel->Constant(&interp,TimesteppingInterpForcingsEnum);
    104105        switch(smb_model){
    105                 case SMBEnum:
     106                case SMBforcingEnum:
    106107                        /*Nothing to add to parameters*/
    107108                        break;
    108109                case SMBpddEnum:
    109                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsdelta18oEnum));
    110                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsmungsmEnum));
    111                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum));
    112                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapsEnum));
    113                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapslgmEnum));
    114                         iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
    115                         iomodel->Constant(&ismungsm,SurfaceforcingsIsmungsmEnum);
     110                        parameters->AddObject(iomodel->CopyConstantObject(SmbIsdelta18oEnum));
     111                        parameters->AddObject(iomodel->CopyConstantObject(SmbIsmungsmEnum));
     112                        parameters->AddObject(iomodel->CopyConstantObject(SmbDesfacEnum));
     113                        parameters->AddObject(iomodel->CopyConstantObject(SmbRlapsEnum));
     114                        parameters->AddObject(iomodel->CopyConstantObject(SmbRlapslgmEnum));
     115                        iomodel->Constant(&isdelta18o,SmbIsdelta18oEnum);
     116                        iomodel->Constant(&ismungsm,SmbIsmungsmEnum);
    116117
    117118                        if(ismungsm){
    118                           iomodel->FetchData(&temp,&N,&M,SurfaceforcingsPfacEnum); _assert_(N==2);
    119                           parameters->AddObject(new TransientParam(SurfaceforcingsPfacEnum,&temp[0],&temp[M],interp,M));
    120                           iomodel->DeleteData(temp,SurfaceforcingsPfacEnum);
     119                          iomodel->FetchData(&temp,&N,&M,SmbPfacEnum); _assert_(N==2);
     120                          parameters->AddObject(new TransientParam(SmbPfacEnum,&temp[0],&temp[M],interp,M));
     121                          iomodel->DeleteData(temp,SmbPfacEnum);
    121122                       
    122                           iomodel->FetchData(&temp,&N,&M,SurfaceforcingsTdiffEnum); _assert_(N==2);
    123                           parameters->AddObject(new TransientParam(SurfaceforcingsTdiffEnum,&temp[0],&temp[M],interp,M));
    124                           iomodel->DeleteData(temp,SurfaceforcingsTdiffEnum);
    125 
    126                           iomodel->FetchData(&temp,&N,&M,SurfaceforcingsSealevEnum); _assert_(N==2);
    127                           parameters->AddObject(new TransientParam(SurfaceforcingsSealevEnum,&temp[0],&temp[M],interp,M));
    128                           iomodel->DeleteData(temp,SurfaceforcingsSealevEnum);
     123                          iomodel->FetchData(&temp,&N,&M,SmbTdiffEnum); _assert_(N==2);
     124                          parameters->AddObject(new TransientParam(SmbTdiffEnum,&temp[0],&temp[M],interp,M));
     125                          iomodel->DeleteData(temp,SmbTdiffEnum);
     126
     127                          iomodel->FetchData(&temp,&N,&M,SmbSealevEnum); _assert_(N==2);
     128                          parameters->AddObject(new TransientParam(SmbSealevEnum,&temp[0],&temp[M],interp,M));
     129                          iomodel->DeleteData(temp,SmbSealevEnum);
    129130                        }
    130131                        if(isdelta18o){
    131                                 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum); _assert_(N==2);
    132                                 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],interp,M));
    133                                 iomodel->DeleteData(temp,SurfaceforcingsDelta18oEnum);
    134 
    135                                 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oSurfaceEnum); _assert_(N==2);
    136                                 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oSurfaceEnum,&temp[0],&temp[M],interp,M));
    137                                 iomodel->DeleteData(temp,SurfaceforcingsDelta18oSurfaceEnum);
     132                                iomodel->FetchData(&temp,&N,&M,SmbDelta18oEnum); _assert_(N==2);
     133                                parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp,M));
     134                                iomodel->DeleteData(temp,SmbDelta18oEnum);
     135
     136                                iomodel->FetchData(&temp,&N,&M,SmbDelta18oSurfaceEnum); _assert_(N==2);
     137                                parameters->AddObject(new TransientParam(SmbDelta18oSurfaceEnum,&temp[0],&temp[M],interp,M));
     138                                iomodel->DeleteData(temp,SmbDelta18oSurfaceEnum);
    138139                        }
    139140                        break;
    140141                case SMBd18opddEnum:
    141                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsmungsmEnum));
    142                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsIsd18opdEnum));
    143                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDesfacEnum));
    144                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapsEnum));
    145                         parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsRlapslgmEnum));
    146                         iomodel->Constant(&ismungsm,SurfaceforcingsIsmungsmEnum);
    147                         iomodel->Constant(&isd18opd,SurfaceforcingsIsd18opdEnum);
     142                        parameters->AddObject(iomodel->CopyConstantObject(SmbIsmungsmEnum));
     143                        parameters->AddObject(iomodel->CopyConstantObject(SmbIsd18opdEnum));
     144                        parameters->AddObject(iomodel->CopyConstantObject(SmbDesfacEnum));
     145                        parameters->AddObject(iomodel->CopyConstantObject(SmbRlapsEnum));
     146                        parameters->AddObject(iomodel->CopyConstantObject(SmbRlapslgmEnum));
     147                        iomodel->Constant(&ismungsm,SmbIsmungsmEnum);
     148                        iomodel->Constant(&isd18opd,SmbIsd18opdEnum);
    148149                        if(isd18opd){
    149                                 iomodel->FetchData(&temp,&N,&M,SurfaceforcingsDelta18oEnum); _assert_(N==2);
    150                                 parameters->AddObject(new TransientParam(SurfaceforcingsDelta18oEnum,&temp[0],&temp[M],interp,M));
    151                                 iomodel->DeleteData(temp,SurfaceforcingsDelta18oEnum);
     150                                iomodel->FetchData(&temp,&N,&M,SmbDelta18oEnum); _assert_(N==2);
     151                                parameters->AddObject(new TransientParam(SmbDelta18oEnum,&temp[0],&temp[M],interp,M));
     152                                iomodel->DeleteData(temp,SmbDelta18oEnum);
    152153                               
    153                                 parameters->AddObject(iomodel->CopyConstantObject(SurfaceforcingsDpermilEnum));
     154                                parameters->AddObject(iomodel->CopyConstantObject(SmbDpermilEnum));
    154155                        }
    155156                        break;
Note: See TracChangeset for help on using the changeset viewer.