New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 14553 for NEMO/trunk/src/OCE – NEMO

Changeset 14553 for NEMO/trunk/src/OCE


Ignore:
Timestamp:
2021-02-26T18:01:43+01:00 (3 years ago)
Author:
gsamson
Message:

merge ticket2628_r14502_abl_restart_xios branch into trunk; sette identical between r14502 and r14544; ticket #2628

Location:
NEMO/trunk/src/OCE
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/IOM/in_out_manager.F90

    r14072 r14553  
    175175   CHARACTER(LEN=lc) ::   cr_icerst_cxt     !: context name used in xios to read SI3 restart 
    176176   CHARACTER(LEN=lc) ::   cw_icerst_cxt     !: context name used in xios to write SI3 restart file 
     177   CHARACTER(LEN=lc) ::   cr_ablrst_cxt     !: context name used in xios to read ABL restart 
     178   CHARACTER(LEN=lc) ::   cw_ablrst_cxt     !: context name used in xios to write ABL restart file 
    177179   CHARACTER(LEN=lc) ::   cr_toprst_cxt     !: context name used in xios to read TOP restart 
    178180   CHARACTER(LEN=lc) ::   cw_toprst_cxt     !: context name used in xios to write TOP restart file 
  • NEMO/trunk/src/OCE/IOM/iom.F90

    r14239 r14553  
    143143 
    144144      llrstr = (cdname == cr_ocerst_cxt) .OR. (cdname == cr_icerst_cxt) 
     145      llrstr = llrstr .OR. (cdname == cr_ablrst_cxt) 
    145146      llrstr = llrstr .OR. (cdname == cr_toprst_cxt) 
    146147      llrstr = llrstr .OR. (cdname == cr_sedrst_cxt) 
    147148 
    148149      llrstw = (cdname == cw_ocerst_cxt) .OR. (cdname == cw_icerst_cxt) 
     150      llrstw = llrstw .OR. (cdname == cw_ablrst_cxt) 
    149151      llrstw = llrstw .OR. (cdname == cw_toprst_cxt) 
    150152      llrstw = llrstw .OR. (cdname == cw_sedrst_cxt) 
     
    315317         llrstw = (cdname == cw_ocerst_cxt) 
    316318         llrstw = llrstw .OR. (cdname == cw_icerst_cxt) 
     319         llrstw = llrstw .OR. (cdname == cw_ablrst_cxt) 
    317320         llrstw = llrstw .OR. (cdname == cw_toprst_cxt) 
    318321         llrstw = llrstw .OR. (cdname == cw_sedrst_cxt) 
     
    357360      LOGICAL                                    :: lmeta 
    358361!metadata in restart file for restart read with XIOS 
    359       INTEGER, PARAMETER                         :: NMETA = 10 
     362      INTEGER, PARAMETER                         :: NMETA = 11 
    360363      CHARACTER(LEN=lc)                          :: meta(NMETA) 
    361364 
     
    371374      meta(9) = "y" 
    372375      meta(10) = "numcat" 
     376      meta(11) = "nav_hgt" 
    373377 
    374378      clinfo = '          iom_set_vars_active, file: '//TRIM(iom_file(idnum)%name) 
     
    548552      IF(idlev == jpk) THEN 
    549553         axis_ref="nav_lev" 
     554      ELSEIF(idlev == jpka) THEN 
     555         axis_ref="nav_hgt" 
    550556#if defined key_si3 
    551557      ELSEIF(idlev == jpl) THEN 
     
    615621      CALL iom_set_axis_attr( "numcat", (/ (REAL(ji,wp), ji=1,jpl) /) ) 
    616622#endif 
     623      CALL xios_add_child(axisgroup_hdl, axis_hdl, "nav_hgt") 
     624      CALL iom_set_axis_attr( "nav_hgt", (/ (REAL(ji,wp), ji=1,jpka) /) ) 
    617625      CALL xios_get_handle("scalar_definition", scalargroup_hdl) 
    618626      CALL xios_add_child(scalargroup_hdl, scalar_hdl, "grid_scalar") 
     
    638646         ELSEIF(kdid == numrir) THEN 
    639647            cdcont = cr_icerst_cxt 
     648         ELSEIF(kdid == numrar) THEN 
     649            cdcont = cr_ablrst_cxt 
    640650         ELSEIF(kdid == numrtr) THEN 
    641651            cdcont = cr_toprst_cxt 
     
    650660         ELSEIF(kdid == numriw) THEN 
    651661            cdcont = cw_icerst_cxt 
     662         ELSEIF(kdid == numraw) THEN 
     663            cdcont = cw_ablrst_cxt 
    652664         ELSEIF(kdid == numrtw) THEN 
    653665            cdcont = cw_toprst_cxt 
  • NEMO/trunk/src/OCE/step.F90

    r14239 r14553  
    133133#endif 
    134134      ENDIF 
     135      IF( kstp + nn_fsbc - 1 == nitrst .AND. lwxios ) THEN 
    135136#if defined key_si3 
    136       IF( kstp + nn_fsbc - 1 == nitrst .AND. lwxios ) THEN 
    137137                             CALL iom_swap(                     cw_icerst_cxt ) 
    138138                             CALL iom_init_closedef(            cw_icerst_cxt ) 
    139139                             CALL iom_setkt( kstp - nit000 + 1, cw_icerst_cxt ) 
    140       ENDIF 
    141 #endif 
     140#endif 
     141         IF( ln_abl      ) THEN 
     142                             CALL iom_swap(                     cw_ablrst_cxt ) 
     143                             CALL iom_init_closedef(            cw_ablrst_cxt ) 
     144                             CALL iom_setkt( kstp - nit000 + 1, cw_ablrst_cxt ) 
     145         ENDIF 
     146      ENDIF 
    142147      IF( kstp /= nit000 )   CALL day( kstp )         ! Calendar (day was already called at nit000 in day_init) 
    143148                             CALL iom_setkt( kstp - nit000 + 1,      cxios_context          )   ! tell IOM we are at time step kstp 
  • NEMO/trunk/src/OCE/stpmlf.F90

    r14433 r14553  
    141141#endif 
    142142      ENDIF 
     143      IF( kstp + nn_fsbc - 1 == nitrst .AND. lwxios ) THEN 
    143144#if defined key_si3 
    144       IF( kstp + nn_fsbc - 1 == nitrst .AND. lwxios ) THEN 
    145145                             CALL iom_swap(                     cw_icerst_cxt ) 
    146146                             CALL iom_init_closedef(            cw_icerst_cxt ) 
    147147                             CALL iom_setkt( kstp - nit000 + 1, cw_icerst_cxt ) 
    148       ENDIF 
    149 #endif 
     148#endif 
     149         IF( ln_abl      ) THEN 
     150                             CALL iom_swap(                     cw_ablrst_cxt ) 
     151                             CALL iom_init_closedef(            cw_ablrst_cxt ) 
     152                             CALL iom_setkt( kstp - nit000 + 1, cw_ablrst_cxt ) 
     153         ENDIF 
     154      ENDIF 
    150155      IF( kstp /= nit000 )   CALL day( kstp )         ! Calendar (day was already called at nit000 in day_init) 
    151156                             CALL iom_setkt( kstp - nit000 + 1,      cxios_context          )   ! tell IOM we are at time step kstp 
Note: See TracChangeset for help on using the changeset viewer.