Changeset 8161


Ignore:
Timestamp:
2017-06-12T14:07:00+02:00 (3 years ago)
Author:
andmirek
Message:

few small bug fixes and support for Agrif restart read

Location:
branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r7923 r8161  
    249249      CALL iom_put( "avt" , avt                        )    ! T vert. eddy diff. coef. 
    250250      CALL iom_put( "avm" , avmu                       )    ! T vert. eddy visc. coef. 
     251#if defined key_zdftke   ||   defined key_esopa 
    251252      IF( lk_zdftke ) THEN    
    252253         CALL iom_put( "tke"      , en                               )    ! TKE budget: Turbulent Kinetic Energy    
    253254         CALL iom_put( "tke_niw"  , e_niw                            )    ! TKE budget: Near-inertial waves    
    254255      ENDIF  
     256#endif 
    255257      CALL iom_put( "avs" , fsavs(:,:,:)               )    ! S vert. eddy diff. coef. (useful only with key_zdfddm) 
    256258                                                            ! Log of eddy diff coef 
  • branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r8153 r8161  
    365365   TYPE(xios_filegroup) :: filegroup_hdl 
    366366   INTEGER :: i 
    367  
    368         rst_file = TRIM(cn_ocerst_indir)//TRIM(cn_ocerst_in) 
     367   CHARACTER(lc)  ::   clpath 
     368 
     369        clpath = TRIM(cn_ocerst_indir) 
     370        IF( clpath(LEN_TRIM(clpath):) /= '/' ) clpath = TRIM(clpath) // '/' 
     371        IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
     372           rst_file = TRIM(cn_ocerst_indir)//TRIM(cn_ocerst_in) 
     373        ELSE 
     374           rst_file = TRIM(cn_ocerst_indir)//'1_'//TRIM(cn_ocerst_in) 
     375        ENDIF 
    369376!set name of the restart file and enable available fields 
    370377        if(lwp) WRITE(numout,*) 'Setting restart filename (for XIOS) to: ',rst_file 
     
    397404#if defined key_iomput 
    398405      TYPE(xios_context) :: nemo_hdl 
     406 
    399407      IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
    400408        CALL xios_get_handle(TRIM(cdname),nemo_hdl) 
  • branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r8153 r8161  
    223223! can handle checking if variable is in the restart file (there will be no need to open 
    224224! restart) 
    225 #if defined key_agrif 
    226       lxios_read = .FALSE. 
    227       lxios_set = .TRUE. 
    228 #else 
    229       IF(.NOT.lxios_set) lxios_read = lxios_read.AND.lxios_sini 
    230       IF( lxios_read) THEN 
     225         IF(.NOT.lxios_set) lxios_read = lxios_read.AND.lxios_sini 
     226         IF( lxios_read) THEN 
    231227         if(.NOT.lxios_set) then 
    232228             rxios_context = 'nemo_rst' 
     
    234230             lxios_set = .TRUE. 
    235231         endif 
    236        ENDIF 
    237 #endif       
     232         ENDIF 
     233         IF( TRIM(Agrif_CFixed()) /= '0' .AND. lxios_read) THEN 
     234            rxios_context = 'nemo_rst' 
     235            call iom_init( rxios_context ) 
     236         ENDIF  
    238237      ENDIF 
    239238 
  • branches/UKMO/dev_r5518_GO6_package_XIOS_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r6486 r8161  
    6868      CHARACTER(len=100) ::  cn_dir   ! Root directory for location of ssr files 
    6969      TYPE(FLD_N)        ::  sn_apr   ! informations about the fields to be read 
     70      LOGICAL            ::  lxios_read ! read restart using XIOS? 
    7071      !! 
    7172      NAMELIST/namsbc_apr/ cn_dir, sn_apr, ln_ref_apr, rn_pref, ln_apr_obc 
     
    143144         IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
    144145            IF(lwp) WRITE(numout,*) 'sbc_apr:   ssh_ibb read in the restart file' 
    145             CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh 
     146            CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb, lrxios = lxios_read )   ! before inv. barometer ssh 
    146147            ! 
    147148         ELSE                                         !* no restart: set from nit000 values 
Note: See TracChangeset for help on using the changeset viewer.