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 12914 for NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/iom.F90 – NEMO

Ignore:
Timestamp:
2020-05-12T15:59:32+02:00 (4 years ago)
Author:
andmirek
Message:

Ticket #2462: merge changes from ticket #2386 to fix XIOS write-read restart

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/iom.F90

    r12649 r12914  
    119119      INTEGER ::   nldi_save, nlei_save    !:      and close boundaries in output files 
    120120      INTEGER ::   nldj_save, nlej_save    !: 
    121       LOGICAL ::   ll_closedef = .TRUE. 
     121      LOGICAL ::   ll_closedef 
    122122      !!---------------------------------------------------------------------- 
    123123      ! 
     
    134134         IF( njmpp + jpj - 1 == jpjglo ) nlej = jpj 
    135135      ENDIF 
     136      ! 
     137      ll_closedef = .TRUE. 
    136138      IF ( PRESENT(ld_closedef) ) ll_closedef = ld_closedef 
    137139      ! 
     
    363365           rst_file = TRIM(clpath)//TRIM(cn_ocerst_in) 
    364366        ELSE 
    365            rst_file = TRIM(clpath)//'1_'//TRIM(cn_ocerst_in) 
     367           rst_file = TRIM(clpath)//TRIM(Agrif_CFixed())//'_'//TRIM(cn_ocerst_in) 
    366368        ENDIF 
    367369!set name of the restart file and enable available fields 
    368         if(lwp) WRITE(numout,*) 'Setting restart filename (for XIOS) to: ',rst_file 
     370        if(lwp) WRITE(numout,*) 'Setting restart filename (for XIOS) to: ', TRIM(rst_file) 
    369371        CALL xios_get_handle("file_definition", filegroup_hdl ) 
    370372        CALL xios_add_child(filegroup_hdl, file_hdl, 'rrestart') 
     
    409411   IF(cdmdl == "OPA") THEN 
    410412!from restart.F90 
    411    CALL iom_set_rstw_var_active("rn_Dt") 
     413   CALL iom_set_rstw_var_active("rdt") 
    412414   IF ( .NOT. ln_diurnal_only ) THEN 
    413415        CALL iom_set_rstw_var_active('ub'  ) 
     
    447449 
    448450        i = 0 
    449         i = i + 1; fields(i)%vname="rn_Dt";            fields(i)%grid="grid_scalar" 
     451        i = i + 1; fields(i)%vname="rdt";            fields(i)%grid="grid_scalar" 
    450452        i = i + 1; fields(i)%vname="un";             fields(i)%grid="grid_N_3D" 
    451453        i = i + 1; fields(i)%vname="ub";             fields(i)%grid="grid_N_3D" 
     
    475477        i = i + 1; fields(i)%vname="qsr_hc_b";       fields(i)%grid="grid_N_3D" 
    476478        i = i + 1; fields(i)%vname="fraqsr_1lev";    fields(i)%grid="grid_N" 
    477         i = i + 1; fields(i)%vname="greenland_icesheet_mass" 
    478                                                fields(i)%grid="grid_scalar" 
    479         i = i + 1; fields(i)%vname="greenland_icesheet_timelapsed" 
    480                                                fields(i)%grid="grid_scalar" 
    481         i = i + 1; fields(i)%vname="greenland_icesheet_mass_roc" 
    482                                                fields(i)%grid="grid_scalar" 
    483         i = i + 1; fields(i)%vname="antarctica_icesheet_mass" 
    484                                                fields(i)%grid="grid_scalar" 
    485         i = i + 1; fields(i)%vname="antarctica_icesheet_timelapsed" 
    486                                                fields(i)%grid="grid_scalar" 
    487         i = i + 1; fields(i)%vname="antarctica_icesheet_mass_roc" 
    488                                                fields(i)%grid="grid_scalar" 
    489479        i = i + 1; fields(i)%vname="frc_v";          fields(i)%grid="grid_scalar" 
    490480        i = i + 1; fields(i)%vname="frc_t";          fields(i)%grid="grid_scalar" 
     
    546536        i = i + 1; fields(i)%vname="hbli";           fields(i)%grid="grid_N" 
    547537        i = i + 1; fields(i)%vname="wn";             fields(i)%grid="grid_N_3D" 
     538        i = i + 1; fields(i)%vname="fwfisf_cav_b";   fields(i)%grid="grid_N" 
     539        i = i + 1; fields(i)%vname="isf_hc_cav_b";   fields(i)%grid="grid_N" 
     540        i = i + 1; fields(i)%vname="isf_sc_cav_b";   fields(i)%grid="grid_N" 
    548541 
    549542        IF( i-1 > max_rst_fields) THEN 
Note: See TracChangeset for help on using the changeset viewer.