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 8193 – NEMO

Changeset 8193


Ignore:
Timestamp:
2017-06-20T10:46:27+02:00 (7 years ago)
Author:
andmirek
Message:

ticket #1914 back to 8188

Location:
branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/CONFIG/GYRE_XIOS/EXP00/domain_def.xml

    r8191 r8193  
    191191   </domain>   
    192192 
    193      <domain_group id="grid_N"> 
    194       <domain id="grid_N" long_name="grid nomask"/> 
    195      </domain_group> 
    196193 
    197194   </domain_definition>     
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/CONFIG/GYRE_XIOS/EXP00/iodef.xml

    r8191 r8193  
    7979  </context> 
    8080   
    81   <context id="nemo_rst" > 
    82  
    83    <domain_definition src="./domain_def.xml"/> 
    84  
    85    <grid_definition> 
    86      <grid id="grid_T_2D" > 
    87        <domain id="grid_T" /> 
    88      </grid> 
    89      <grid id="grid_T_3D" > 
    90        <domain id="grid_T" /> 
    91        <axis id="deptht" /> 
    92      </grid> 
    93      <grid id="grid_U_2D" > 
    94        <domain id="grid_U" /> 
    95      </grid> 
    96      <grid id="grid_U_3D" > 
    97        <domain id="grid_U" /> 
    98        <axis id="depthu" /> 
    99      </grid> 
    100      <grid id="grid_V_2D" > 
    101        <domain id="grid_V" /> 
    102      </grid> 
    103      <grid id="grid_V_3D" > 
    104        <domain id="grid_V" /> 
    105        <axis id="depthv" /> 
    106      </grid> 
    107      <grid id="grid_W_2D" > 
    108        <domain id="grid_W" /> 
    109      </grid> 
    110      <grid id="grid_W_3D" > 
    111        <domain id="grid_W" /> 
    112        <axis id="depthw" /> 
    113      </grid> 
    114      <grid id="scalarpoint" /> 
    115  
    116      <grid id="Vgrid"> 
    117        <domain domain_ref="ptr" /> 
    118        <axis axis_ref="deptht" /> 
    119      </grid> 
    120  
    121      <grid id="grid_N" > 
    122        <domain domain_ref="grid_N" /> 
    123      </grid> 
    124      <grid id="grid_N_3D" > 
    125        <domain domain_ref="grid_N" /> 
    126        <axis axis_ref="deptht" /> 
    127      </grid> 
    128  
    129     </grid_definition> 
    130  
    131   </context> 
    13281 
    13382  <context id="xios"> 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/CONFIG/SHARED/namelist_ref

    r8191 r8193  
    5050   ln_clobber  = .false.   !  clobber (overwrite) an existing file 
    5151   nn_chunksz  =       0   !  chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) 
    52    ln_xios_read = .FALSE.  !  use XIOS to read restart file (only for a single file restart) 
    5352/ 
    5453! 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r8191 r8193  
    343343            ENDIF 
    344344         ENDIF 
    345 <<<<<<< .working 
    346345 
    347346         IF( iom_use("sopht_vt") .OR. iom_use("sopst_vs") ) THEN    
     
    434433         ENDIF 
    435434#endif 
    436 ======= 
    437  
    438          IF( iom_use("sopht_vt") .OR. iom_use("sopst_vs") ) THEN    
    439             z2d(1,:) = htr_vt(:,1) * rc_pwatt        !  (conversion in PW)  
    440             DO ji = 1, jpi 
    441                z2d(ji,:) = z2d(1,:) 
    442             ENDDO 
    443             cl1 = 'sopht_vt' 
    444             CALL iom_put( TRIM(cl1), z2d ) 
    445             z2d(1,:) = str_vs(:,1) * rc_ggram        !  (conversion in Gg) 
    446             DO ji = 1, jpi 
    447                z2d(ji,:) = z2d(1,:) 
    448             ENDDO 
    449             cl1 = 'sopst_vs' 
    450             CALL iom_put( TRIM(cl1), z2d ) 
    451             IF( ln_subbas ) THEN 
    452               DO jn=2,nptr 
    453                z2d(1,:) = htr_vt(:,jn) * rc_pwatt        !  (conversion in PW) 
    454                DO ji = 1, jpi 
    455                  z2d(ji,:) = z2d(1,:) 
    456                ENDDO 
    457                cl1 = TRIM('sopht_vt_'//clsubb(jn))                  
    458                CALL iom_put( cl1, z2d ) 
    459                z2d(1,:) = str_vs(:,jn) * rc_ggram        ! (conversion in Gg) 
    460                DO ji = 1, jpi 
    461                   z2d(ji,:) = z2d(1,:) 
    462                ENDDO 
    463                cl1 = TRIM('sopst_vs_'//clsubb(jn))                  
    464                CALL iom_put( cl1, z2d )               
    465               ENDDO 
    466             ENDIF 
    467          ENDIF 
    468  
    469 #ifdef key_diaeiv 
    470          IF(lk_traldf_eiv) THEN 
    471             IF( iom_use("sophteiv") .OR. iom_use("sopsteiv") ) THEN  
    472                z2d(1,:) = htr_eiv(:,1) * rc_pwatt        !  (conversion in PW)  
    473                DO ji = 1, jpi 
    474                   z2d(ji,:) = z2d(1,:) 
    475                ENDDO 
    476                cl1 = 'sophteiv' 
    477                CALL iom_put( TRIM(cl1), z2d ) 
    478                z2d(1,:) = str_eiv(:,1) * rc_ggram        !  (conversion in Gg) 
    479                DO ji = 1, jpi 
    480                   z2d(ji,:) = z2d(1,:) 
    481                ENDDO 
    482                cl1 = 'sopsteiv' 
    483                CALL iom_put( TRIM(cl1), z2d ) 
    484                IF( ln_subbas ) THEN 
    485                   DO jn=2,nptr 
    486                      z2d(1,:) = htr_eiv(:,jn) * rc_pwatt        !  (conversion in PW) 
    487                      DO ji = 1, jpi 
    488                         z2d(ji,:) = z2d(1,:) 
    489                      ENDDO 
    490                      cl1 = TRIM('sophteiv_'//clsubb(jn))                  
    491                      CALL iom_put( cl1, z2d ) 
    492                      z2d(1,:) = str_eiv(:,jn) * rc_ggram        ! (conversion in Gg) 
    493                      DO ji = 1, jpi 
    494                         z2d(ji,:) = z2d(1,:) 
    495                      ENDDO 
    496                      cl1 = TRIM('sopsteiv_'//clsubb(jn))  
    497                      CALL iom_put( cl1, z2d )               
    498                   ENDDO 
    499                ENDIF 
    500             ENDIF 
    501          ENDIF 
    502 #endif 
    503 >>>>>>> .merge-right.r7923 
    504435         ! 
    505436      ENDIF 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r8191 r8193  
    157157      IF( iom_use("e3tdef") )   & 
    158158         CALL iom_put( "e3tdef"  , ( ( fse3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 ) 
    159 <<<<<<< .working 
    160159      CALL iom_put("tpt_dep", fsdept_n(:,:,:) ) 
    161160      CALL iom_put("wpt_dep", fsdepw_n(:,:,:) ) 
    162 ======= 
    163       CALL iom_put("tpt_dep", fsdept_n(:,:,:) ) 
    164 >>>>>>> .merge-right.r7923 
    165161 
    166162 
     
    254250      CALL iom_put( "avt" , avt                        )    ! T vert. eddy diff. coef. 
    255251      CALL iom_put( "avm" , avmu                       )    ! T vert. eddy visc. coef. 
    256 #if defined key_zdftke   ||   defined key_esopa 
    257252      IF( lk_zdftke ) THEN    
    258253         CALL iom_put( "tke"      , en                               )    ! TKE budget: Turbulent Kinetic Energy    
    259254         CALL iom_put( "tke_niw"  , e_niw                            )    ! TKE budget: Near-inertial waves    
    260255      ENDIF  
    261 #endif 
    262256      CALL iom_put( "avs" , fsavs(:,:,:)               )    ! S vert. eddy diff. coef. (useful only with key_zdfddm) 
    263257                                                            ! Log of eddy diff coef 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90

    r8191 r8193  
    330330               CALL iom_get( numror, 'ndastp', zndastp ) 
    331331               ndastp = NINT( zndastp ) 
    332                CALL iom_get( numror, 'adatrj', adatrj, lrxios = lxios_read ) 
     332               CALL iom_get( numror, 'adatrj', adatrj  ) 
    333333            ELSE 
    334334               ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90

    r8191 r8193  
    138138         &             nn_no   , cn_exp    , cn_ocerst_in, cn_ocerst_out, ln_rstart , ln_rstdate, nn_rstctl,   & 
    139139         &             nn_it000, nn_itend  , nn_date0    , nn_leapy     , nn_istate , nn_stock ,   & 
    140          &             nn_write, ln_dimgnnn, ln_mskland  , ln_cfmeta    , ln_clobber, nn_chunksz, nn_euler, & 
    141          &             ln_xios_read 
     140         &             nn_write, ln_dimgnnn, ln_mskland  , ln_cfmeta    , ln_clobber, nn_chunksz, nn_euler 
    142141      NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin,   & 
    143142         &             nn_acc   , rn_atfp     , rn_rdt      , rn_rdtmin ,                  & 
     
    153152      INTEGER  ::   ios                 ! Local integer output status for namelist read 
    154153      !!---------------------------------------------------------------------- 
    155       ln_xios_read = .false.            ! set in case ln_xios_read is not in namelist 
     154 
    156155      REWIND( numnam_ref )              ! Namelist namrun in reference namelist : Parameters of the run 
    157156      READ  ( numnam_ref, namrun, IOSTAT = ios, ERR = 901) 
     
    194193         WRITE(numout,*) '      overwrite an existing file      ln_clobber = ', ln_clobber 
    195194         WRITE(numout,*) '      NetCDF chunksize (bytes)        nn_chunksz = ', nn_chunksz 
    196          WRITE(numout,*) '      READ restart for a single file using XIOS ln_xios_read =', ln_xios_read 
    197195      ENDIF 
    198196 
     
    209207      nwrite = nn_write 
    210208      neuler = nn_euler 
    211       lxios_read = ln_xios_read 
    212209      IF ( neuler == 1 .AND. .NOT. ln_rstart ) THEN 
    213210         WRITE(ctmp1,*) 'ln_rstart =.FALSE., nn_euler is forced to 0 ' 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r8191 r8193  
    4949   LOGICAL       ::   ln_clobber       !: clobber (overwrite) an existing file 
    5050   INTEGER       ::   nn_chunksz       !: chunksize (bytes) for NetCDF file (works only with iom_nf90 routines) 
    51    LOGICAL       ::   ln_xios_read     !: use xios to read single file restart 
    5251#if defined key_netcdf4 
    5352   !!---------------------------------------------------------------------- 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r8191 r8193  
    4141   USE dianam          ! build name of file 
    4242   USE xios 
    43    USE iom_def, ONLY : max_rst_fields, rst_fields 
    4443# endif 
    4544   USE ioipsl, ONLY :  ju2ymds    ! for calendar 
    4645   USE crs             ! Grid coarsening 
    47    USE lib_fortran  
    4846 
    4947   IMPLICIT NONE 
     
    6462   PRIVATE iom_set_domain_attr, iom_set_axis_attr, iom_set_field_attr, iom_set_file_attr, iom_get_file_attr, iom_set_grid_attr 
    6563   PRIVATE set_grid, set_grid_bounds, set_scalar, set_xmlatt, set_mooring, iom_update_file_name, iom_sdate 
    66    PRIVATE set_rst_vars, set_rstr_active 
    6764# endif 
    6865 
     
    139136          &                                    start_date = xios_date(nyear,nmonth,nday,0,0,0) ) 
    140137      END SELECT 
    141  
    142138#endif 
    143139      ! horizontal grid definition 
     
    146142 
    147143      IF( TRIM(cdname) == TRIM(cxios_context) ) THEN   
    148          CALL set_grid( "T", glamt, gphit, ln_mskland )  
    149          CALL set_grid( "U", glamu, gphiu, ln_mskland ) 
    150          CALL set_grid( "V", glamv, gphiv, ln_mskland ) 
    151          CALL set_grid( "W", glamt, gphit, ln_mskland ) 
     144         CALL set_grid( "T", glamt, gphit )  
     145         CALL set_grid( "U", glamu, gphiu ) 
     146         CALL set_grid( "V", glamv, gphiv ) 
     147         CALL set_grid( "W", glamt, gphit ) 
    152148         CALL set_grid_znl( gphit ) 
    153          CALL set_grid("N",glamt, gphit, .FALSE.)        ! not masked values 
    154149         ! 
    155          IF( ln_cfmeta .AND. TRIM(cdname) .NE. TRIM(rxios_context)) THEN   ! Add additional grid metadata 
     150         IF( ln_cfmeta ) THEN   ! Add additional grid metadata 
    156151            CALL iom_set_domain_attr("grid_T", area = e12t(nldi:nlei, nldj:nlej)) 
    157152            CALL iom_set_domain_attr("grid_U", area = e12u(nldi:nlei, nldj:nlej)) 
     
    168163         CALL dom_grid_crs   ! Save the parent grid information  & Switch to coarse grid domain 
    169164         ! 
    170          CALL set_grid( "T", glamt_crs, gphit_crs, ln_mskland )  
    171          CALL set_grid( "U", glamu_crs, gphiu_crs, ln_mskland )  
    172          CALL set_grid( "V", glamv_crs, gphiv_crs, ln_mskland )  
    173          CALL set_grid( "W", glamt_crs, gphit_crs, ln_mskland )  
     165         CALL set_grid( "T", glamt_crs, gphit_crs )  
     166         CALL set_grid( "U", glamu_crs, gphiu_crs )  
     167         CALL set_grid( "V", glamv_crs, gphiv_crs )  
     168         CALL set_grid( "W", glamt_crs, gphit_crs )  
    174169         CALL set_grid_znl( gphit_crs ) 
    175170          ! 
    176171         CALL dom_grid_glo   ! Return to parent grid domain 
    177172         ! 
    178          IF( ln_cfmeta .AND. TRIM(cdname) .NE. TRIM(rxios_context)) THEN   ! Add additional grid metadata 
     173         IF( ln_cfmeta ) THEN   ! Add additional grid metadata 
    179174            CALL iom_set_domain_attr("grid_T", area = e1e2t_crs(nldi:nlei, nldj:nlej)) 
    180175            CALL iom_set_domain_attr("grid_U", area = e1u_crs(nldi:nlei, nldj:nlej) * e2u_crs(nldi:nlei, nldj:nlej)) 
     
    232227       
    233228      ! automatic definitions of some of the xml attributs 
    234       IF( TRIM(cdname) == TRIM(rxios_context)) THEN 
    235 !set names of the fields in restart file IF using XIOS to read/write data 
    236        CALL set_rst_vars() 
    237 !set which fields are to be read from restart file 
    238        CALL set_rstr_active() 
    239       ELSE 
    240        CALL set_xmlatt 
    241       ENDIF 
     229      CALL set_xmlatt 
    242230 
    243231      CALL set_1point 
     
    256244   END SUBROUTINE iom_init 
    257245 
    258     
    259    SUBROUTINE set_rst_vars() 
    260 !set names for variables in restart file 
    261  
    262         rst_fields(:)%vname="NO_NAME";         rst_fields(:)%grid="NO_GRID" 
    263  
    264         rst_fields(1)%vname="rdt";             rst_fields(1)% grid="grid_scalar" 
    265         rst_fields(2)%vname="rdttra1";         rst_fields(2)% grid="grid_scalar"       
    266         rst_fields(3)%vname="un";              rst_fields(3)% grid="grid_N_3D" 
    267         rst_fields(4)%vname="ub";              rst_fields(4)% grid="grid_N_3D" 
    268         rst_fields(5)%vname="vn";              rst_fields(5)% grid="grid_N_3D" 
    269         rst_fields(6)%vname="vb";              rst_fields(6)% grid="grid_N_3D"   
    270         rst_fields(7)%vname="tn";              rst_fields(7)% grid="grid_N_3D" 
    271         rst_fields(8)%vname="tb";              rst_fields(8)% grid="grid_N_3D" 
    272         rst_fields(9)%vname="sn";              rst_fields(9)% grid="grid_N_3D" 
    273         rst_fields(10)%vname="sb";             rst_fields(10)%grid="grid_N_3D" 
    274         rst_fields(11)%vname="sshn";           rst_fields(11)%grid="grid_N" 
    275         rst_fields(12)%vname="sshb";           rst_fields(12)%grid="grid_N" 
    276         rst_fields(13)%vname="hdivn";          rst_fields(13)%grid="grid_N_3D" 
    277         rst_fields(14)%vname="hdivb";          rst_fields(14)%grid="grid_N_3D" 
    278         rst_fields(15)%vname="rhop";           rst_fields(15)%grid="grid_N_3D" 
    279         rst_fields(16)%vname="rotn";           rst_fields(16)%grid="grid_N_3D" 
    280         rst_fields(17)%vname="rotb";           rst_fields(17)%grid="grid_N_3D" 
    281         rst_fields(18)%vname="kt";             rst_fields(18)%grid="grid_scalar" 
    282         rst_fields(19)%vname="ndastp";         rst_fields(19)%grid="grid_scalar" 
    283         rst_fields(20)%vname="adatrj";         rst_fields(20)%grid="grid_scalar" 
    284         rst_fields(21)%vname="utau_b";         rst_fields(21)%grid="grid_N" 
    285         rst_fields(22)%vname="vtau_b";         rst_fields(22)%grid="grid_N" 
    286         rst_fields(23)%vname="qns_b";          rst_fields(23)%grid="grid_N" 
    287         rst_fields(24)%vname="emp_b";          rst_fields(24)%grid="grid_N" 
    288         rst_fields(25)%vname="sfx_b";          rst_fields(25)%grid="grid_N" 
    289         rst_fields(26)%vname="en" ;            rst_fields(26)%grid="grid_N_3D"  
    290         rst_fields(27)%vname="avt";            rst_fields(27)%grid="grid_N_3D" 
    291         rst_fields(28)%vname="avm";            rst_fields(28)%grid="grid_N_3D" 
    292         rst_fields(29)%vname="avmu";           rst_fields(29)%grid="grid_N_3D" 
    293         rst_fields(30)%vname="avmv";           rst_fields(30)%grid="grid_N_3D" 
    294         rst_fields(31)%vname="dissl";          rst_fields(31)%grid="grid_N_3D" 
    295         rst_fields(32)%vname="sbc_hc_b";       rst_fields(32)%grid="grid_N" 
    296         rst_fields(33)%vname="sbc_sc_b";       rst_fields(33)%grid="grid_N" 
    297         rst_fields(34)%vname="qsr_hc_b";       rst_fields(34)%grid="grid_N_3D" 
    298         rst_fields(35)%vname="gcx";            rst_fields(35)%grid="grid_N" 
    299         rst_fields(36)%vname="gcxb";           rst_fields(36)%grid="grid_N" 
    300         rst_fields(37)%vname="fraqsr_1lev";    rst_fields(37)%grid="grid_N" 
    301         rst_fields(38)%vname="greenland_icesheet_mass" 
    302                                                rst_fields(38)%grid="grid_scalar" 
    303         rst_fields(39)%vname="greenland_icesheet_timelapsed" 
    304                                                rst_fields(39)%grid="grid_scalar" 
    305         rst_fields(40)%vname="greenland_icesheet_mass_roc" 
    306                                                rst_fields(40)%grid="grid_scalar" 
    307         rst_fields(41)%vname="antarctica_icesheet_mass" 
    308                                                rst_fields(41)%grid="grid_scalar" 
    309         rst_fields(42)%vname="antarctica_icesheet_timelapsed" 
    310                                                rst_fields(42)%grid="grid_scalar" 
    311         rst_fields(43)%vname="antarctica_icesheet_mass_roc" 
    312                                                rst_fields(43)%grid="grid_scalar" 
    313         rst_fields(44)%vname="rhd";            rst_fields(44)%grid="grid_N_3D" 
    314         rst_fields(45)%vname="frc_v";          rst_fields(45)%grid="grid_scalar" 
    315         rst_fields(46)%vname="frc_t";          rst_fields(46)%grid="grid_scalar" 
    316         rst_fields(47)%vname="frc_s";          rst_fields(47)%grid="grid_scalar" 
    317         rst_fields(48)%vname="frc_wn_t";       rst_fields(48)%grid="grid_scalar" 
    318         rst_fields(49)%vname="frc_wn_s";       rst_fields(49)%grid="grid_scalar" 
    319         rst_fields(50)%vname="ssh_ini";        rst_fields(50)%grid="grid_N" 
    320         rst_fields(51)%vname="e3t_ini";        rst_fields(51)%grid="grid_N_3D" 
    321         rst_fields(52)%vname="hc_loc_ini";     rst_fields(52)%grid="grid_N_3D" 
    322         rst_fields(53)%vname="sc_loc_ini";     rst_fields(53)%grid="grid_N_3D" 
    323         rst_fields(54)%vname="ssh_hc_loc_ini"; rst_fields(54)%grid="grid_N" 
    324         rst_fields(55)%vname="ssh_sc_loc_ini"; rst_fields(55)%grid="grid_N" 
    325         rst_fields(56)%vname="fse3t_b";        rst_fields(56)%grid="grid_N_3D" 
    326         rst_fields(57)%vname="fse3t_n";        rst_fields(57)%grid="grid_N_3D" 
    327         rst_fields(58)%vname="tilde_e3t_b";    rst_fields(58)%grid="grid_N" 
    328         rst_fields(59)%vname="tilde_e3t_n";    rst_fields(59)%grid="grid_N" 
    329         rst_fields(60)%vname="hdiv_lf";        rst_fields(60)%grid="grid_N" 
    330         rst_fields(61)%vname="ub2_b";          rst_fields(61)%grid="grid_N" 
    331         rst_fields(62)%vname="vb2_b";          rst_fields(62)%grid="grid_N" 
    332         rst_fields(63)%vname="sshbb_e";        rst_fields(63)%grid="grid_N" 
    333         rst_fields(64)%vname="ubb_e";          rst_fields(64)%grid="grid_N" 
    334         rst_fields(65)%vname="vbb_e";          rst_fields(65)%grid="grid_N" 
    335         rst_fields(66)%vname="sshb_e";         rst_fields(66)%grid="grid_N" 
    336         rst_fields(67)%vname="ub_e";           rst_fields(67)%grid="grid_N" 
    337         rst_fields(68)%vname="vb_e";           rst_fields(68)%grid="grid_N" 
    338         rst_fields(69)%vname="fwf_isf_b";      rst_fields(69)%grid="grid_N" 
    339         rst_fields(70)%vname="isf_sc_b";       rst_fields(70)%grid="grid_N" 
    340         rst_fields(71)%vname="isf_hc_b";       rst_fields(71)%grid="grid_N" 
    341         rst_fields(72)%vname="ssh_ibb";        rst_fields(72)%grid="grid_N" 
    342         rst_fields(73)%vname="rnf_b";          rst_fields(73)%grid="grid_N" 
    343         rst_fields(74)%vname="rnf_hc_b";       rst_fields(74)%grid="grid_N" 
    344         rst_fields(75)%vname="rnf_sc_b";       rst_fields(75)%grid="grid_N" 
    345         rst_fields(76)%vname="nn_fsbc";        rst_fields(76)%grid="grid_scalar" 
    346         rst_fields(77)%vname="ssu_m";          rst_fields(77)%grid="grid_N" 
    347         rst_fields(78)%vname="ssv_m";          rst_fields(78)%grid="grid_N" 
    348         rst_fields(79)%vname="sst_m";          rst_fields(79)%grid="grid_N" 
    349         rst_fields(80)%vname="sss_m";          rst_fields(80)%grid="grid_N" 
    350         rst_fields(81)%vname="ssh_m";          rst_fields(81)%grid="grid_N" 
    351         rst_fields(82)%vname="e3t_m";          rst_fields(82)%grid="grid_N" 
    352         rst_fields(83)%vname="frq_m";          rst_fields(83)%grid="grid_N" 
    353         rst_fields(84)%vname="avmb";           rst_fields(84)%grid="Vgrid" 
    354         rst_fields(85)%vname="avtb";           rst_fields(85)%grid="Vgrid" 
    355  
    356    END SUBROUTINE set_rst_vars 
    357  
    358  
    359    SUBROUTINE set_rstr_active() 
    360 !sets enabled = .TRUE. for each field in restart file 
    361 #if defined key_xios2 
    362    CHARACTER(len=256) :: rst_file 
    363    TYPE(xios_field) :: field_hdl 
    364    TYPE(xios_file) :: file_hdl 
    365    TYPE(xios_filegroup) :: filegroup_hdl 
    366    INTEGER :: i 
    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 
    376 !set name of the restart file and enable available fields 
    377         if(lwp) WRITE(numout,*) 'Setting restart filename (for XIOS) to: ',rst_file 
    378         CALL xios_get_handle("file_definition", filegroup_hdl ) 
    379         CALL xios_add_child(filegroup_hdl, file_hdl, 'rrestart') 
    380         CALL xios_set_file_attr( "rrestart", name=trim(rst_file), type="one_file", & 
    381              par_access="collective", enabled=.TRUE., mode="read",                 & 
    382              output_freq=xios_timestep) 
    383 !defin files for restart context 
    384         DO i = 1, max_rst_fields 
    385          IF( TRIM(rst_fields(i)%vname) /= "NO_NAME") THEN 
    386            IF( iom_varid( numror, TRIM(rst_fields(i)%vname), ldstop = .FALSE. ) > 0 ) THEN 
    387                 CALL xios_add_child(file_hdl, field_hdl, TRIM(rst_fields(i)%vname)) 
    388                 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(rst_fields(i)%vname), & 
    389                      grid_ref = TRIM(rst_fields(i)%grid ), operation = "instant") 
    390                 if(lwp) WRITE(numout,*) TRIM(rst_fields(i)%vname), ' enabled' 
    391            ENDIF 
    392          ENDIF 
    393         END DO 
    394 #endif 
    395    END SUBROUTINE set_rstr_active 
    396246 
    397247   SUBROUTINE iom_swap( cdname ) 
     
    837687                                                                           ! value for the 2nd dimension (netcdf only) 
    838688      ! 
    839       LOGICAL                        ::   lxios       ! local definition for XIOS read 
    840689      LOGICAL                        ::   llnoov      ! local definition to read overlap 
    841690      LOGICAL                        ::   luse_jattr  ! local definition to read open_ocean_jstart file attribute 
     
    864713      !--------------------------------------------------------------------- 
    865714      ! 
    866       REAL(wp)                       :: gma, gmi 
    867       lxios = .FALSE. 
    868       if(PRESENT(lrxios)) lxios = lrxios 
    869       idvar = iom_varid( kiomid, cdvar )  
     715      clname = iom_file(kiomid)%name   !   esier to read 
     716      clinfo = '          iom_get_123d, file: '//trim(clname)//', var: '//trim(cdvar) 
     717      ! local definition of the domain ? 
    870718      idom = kdom 
    871  
    872       IF(.NOT.lxios) THEN 
    873           clname = iom_file(kiomid)%name   !   esier to read 
    874           clinfo = '          iom_get_123d, file: '//trim(clname)//', var: '//trim(cdvar) 
    875           ! local definition of the domain ? 
    876           ! do we read the overlap  
    877           ! ugly patch SM+JMM+RB to overwrite global definition in some cases 
    878           llnoov = (jpni * jpnj ) == jpnij .AND. .NOT. lk_agrif  
    879           ! check kcount and kstart optionals parameters... 
    880           IF( PRESENT(kcount) .AND. (.NOT. PRESENT(kstart)) ) CALL ctl_stop(trim(clinfo), 'kcount present needs kstart present') 
    881           IF( PRESENT(kstart) .AND. (.NOT. PRESENT(kcount)) ) CALL ctl_stop(trim(clinfo), 'kstart present needs kcount present') 
    882           IF( PRESENT(kstart) .AND. idom /= jpdom_unknown .AND.  idom /= jpdom_autoglo_xy  ) & 
     719      ! do we read the overlap  
     720      ! ugly patch SM+JMM+RB to overwrite global definition in some cases 
     721      llnoov = (jpni * jpnj ) == jpnij .AND. .NOT. lk_agrif  
     722      ! check kcount and kstart optionals parameters... 
     723      IF( PRESENT(kcount) .AND. (.NOT. PRESENT(kstart)) ) CALL ctl_stop(trim(clinfo), 'kcount present needs kstart present') 
     724      IF( PRESENT(kstart) .AND. (.NOT. PRESENT(kcount)) ) CALL ctl_stop(trim(clinfo), 'kstart present needs kcount present') 
     725      IF( PRESENT(kstart) .AND. idom /= jpdom_unknown .AND.  idom /= jpdom_autoglo_xy  ) & 
    883726     &           CALL ctl_stop(trim(clinfo), 'kstart present needs kdom = jpdom_unknown or kdom = jpdom_autoglo_xy') 
    884727 
     
    1082925            IF(lwp) WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name) 
    1083926           
    1084                 !--- overlap areas and extra hallows (mpp) 
    1085                 IF(     PRESENT(pv_r2d) .AND. idom /= jpdom_unknown ) THEN 
    1086                    CALL lbc_lnk( pv_r2d,'Z',-999.,'no0' ) 
    1087                 ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 
    1088                    ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 
    1089                    IF( icnt(3) == jpk ) THEN 
    1090                       CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
    1091                    ELSE   ! put some arbitrary value (a call to lbc_lnk will be done later...) 
    1092                       DO jj = nlcj+1, jpj   ;   pv_r3d(1:nlci, jj, :) = pv_r3d(1:nlci, nlej, :)   ;   END DO 
    1093                       DO ji = nlci+1, jpi   ;   pv_r3d(ji    , : , :) = pv_r3d(nlei  , :   , :)   ;   END DO 
    1094                    ENDIF 
    1095                 ENDIF 
    1096                 ! 
    1097              ELSE 
    1098                 ! return if istop == nstop is false 
    1099                 RETURN 
    1100              ENDIF 
    1101           ELSE 
    1102              ! return if statment idvar > 0 .AND. istop == nstop is false 
    1103              RETURN 
    1104           ENDIF 
    1105           ! 
    1106        ELSE        ! read using XIOS. Only if KEY_IOMPUT is defined 
    1107 #if defined key_iomput 
    1108 !would be good to be able to check which context is active and swap only if current is not restart 
    1109           CALL iom_swap( TRIM(rxios_context) )  
    1110           IF( PRESENT(pv_r3d) ) THEN 
    1111              if(lwp) write(numout,*) 'XIOS RST READ (3D): ',trim(cdvar) 
    1112              CALL xios_recv_field( trim(cdvar), pv_r3d) 
    1113              IF(idom /= jpdom_unknown ) then 
    1114                  CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
    1115              ENDIF 
    1116           ELSEIF( PRESENT(pv_r2d) ) THEN 
    1117              if(lwp) write(numout,*) 'XIOS RST READ (2D): ', trim(cdvar) 
    1118              CALL xios_recv_field( trim(cdvar), pv_r2d) 
    1119              IF(idom /= jpdom_unknown ) THEN 
    1120                  CALL lbc_lnk(pv_r2d,'Z',-999.,'no0') 
    1121              ENDIF 
    1122           ELSEIF( PRESENT(pv_r1d) ) THEN 
    1123              if(lwp) write(numout,*) 'XIOS RST READ (1D): ', trim(cdvar) 
    1124              CALL xios_recv_field( trim(cdvar), pv_r1d) 
    1125           ENDIF 
    1126           CALL iom_swap( TRIM(cxios_context) ) 
    1127 #else 
    1128           istop = istop + 1  
    1129           clinfo = 'Can not use XIOS in iom_get_123d, file: '//trim(clname)//', var:'//trim(cdvar) 
    1130 #endif 
    1131        ENDIF 
    1132 !some final adjustments 
    1133        ! C1D case : always call lbc_lnk to replicate the central value over the whole 3X3 domain 
    1134        IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk( pv_r2d,'Z',1. ) 
    1135        IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk( pv_r3d,'Z',1. ) 
    1136  
    1137        !--- Apply scale_factor and offset 
    1138        zscf = iom_file(kiomid)%scf(idvar)      ! scale factor 
    1139        zofs = iom_file(kiomid)%ofs(idvar)      ! offset 
    1140        IF(     PRESENT(pv_r1d) ) THEN 
    1141           IF( zscf /= 1. )   pv_r1d(:) = pv_r1d(:) * zscf  
    1142           IF( zofs /= 0. )   pv_r1d(:) = pv_r1d(:) + zofs 
    1143        ELSEIF( PRESENT(pv_r2d) ) THEN 
     927            !--- overlap areas and extra hallows (mpp) 
     928            IF(     PRESENT(pv_r2d) .AND. idom /= jpdom_unknown ) THEN 
     929               CALL lbc_lnk( pv_r2d,'Z',-999.,'no0' ) 
     930            ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 
     931               ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 
     932               IF( icnt(3) == jpk ) THEN 
     933                  CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 
     934               ELSE   ! put some arbitrary value (a call to lbc_lnk will be done later...) 
     935                  DO jj = nlcj+1, jpj   ;   pv_r3d(1:nlci, jj, :) = pv_r3d(1:nlci, nlej, :)   ;   END DO 
     936                  DO ji = nlci+1, jpi   ;   pv_r3d(ji    , : , :) = pv_r3d(nlei  , :   , :)   ;   END DO 
     937               ENDIF 
     938            ENDIF 
     939             
     940            ! C1D case : always call lbc_lnk to replicate the central value over the whole 3X3 domain 
     941            IF( lk_c1d .AND. PRESENT(pv_r2d) )   CALL lbc_lnk( pv_r2d,'Z',1. ) 
     942            IF( lk_c1d .AND. PRESENT(pv_r3d) )   CALL lbc_lnk( pv_r3d,'Z',1. ) 
     943     
     944            !--- Apply scale_factor and offset 
     945            zscf = iom_file(kiomid)%scf(idvar)      ! scale factor 
     946            zofs = iom_file(kiomid)%ofs(idvar)      ! offset 
     947            IF(     PRESENT(pv_r1d) ) THEN 
     948               IF( zscf /= 1. )   pv_r1d(:) = pv_r1d(:) * zscf  
     949               IF( zofs /= 0. )   pv_r1d(:) = pv_r1d(:) + zofs 
     950            ELSEIF( PRESENT(pv_r2d) ) THEN 
    1144951!CDIR COLLAPSE 
    1145952               IF( zscf /= 1.)   pv_r2d(:,:) = pv_r2d(:,:) * zscf 
     
    1150957               IF( zscf /= 1.)   pv_r3d(:,:,:) = pv_r3d(:,:,:) * zscf 
    1151958!CDIR COLLAPSE 
    1152           IF( zofs /= 0.)   pv_r3d(:,:,:) = pv_r3d(:,:,:) + zofs 
    1153        ENDIF 
     959               IF( zofs /= 0.)   pv_r3d(:,:,:) = pv_r3d(:,:,:) + zofs 
     960            ENDIF 
     961            ! 
     962         ENDIF 
     963         ! 
     964      ENDIF 
     965      ! 
    1154966   END SUBROUTINE iom_get_123d 
    1155967 
     
    15551367 
    15561368 
    1557    SUBROUTINE set_grid( cdgrd, plon, plat, lmask ) 
     1369   SUBROUTINE set_grid( cdgrd, plon, plat ) 
    15581370      !!---------------------------------------------------------------------- 
    15591371      !!                     ***  ROUTINE set_grid  *** 
     
    15681380      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zmask 
    15691381      INTEGER  :: ni,nj 
    1570       LOGICAL :: lmask 
    15711382       
    15721383      ni=nlei-nldi+1 ; nj=nlej-nldj+1 
     
    15811392         &                                     latvalue = RESHAPE(plat(nldi:nlei, nldj:nlej),(/ ni*nj /)))   
    15821393 
    1583       IF ( lmask ) THEN 
     1394      IF ( ln_mskland ) THEN 
    15841395         ! mask land points, keep values on coast line -> specific mask for U, V and W points 
    15851396         SELECT CASE ( cdgrd ) 
     
    16251436      ! Offset of coordinate representing bottom-left corner 
    16261437      SELECT CASE ( TRIM(cdgrd) ) 
    1627          CASE ('T', 'W', 'N') 
     1438         CASE ('T', 'W') 
    16281439            icnr = -1 ; jcnr = -1 
    16291440         CASE ('U') 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/IOM/iom_def.F90

    r8191 r8193  
    5151!$AGRIF_DO_NOT_TREAT 
    5252   INTEGER, PUBLIC            ::   iom_open_init = 0   !: used to initialize iom_file(:)%nfid to 0 
    53 !XIOS read restart    
    54    LOGICAL, PUBLIC            ::   lxios_read          !: read single file restart using XIOS 
    55    LOGICAL, PUBLIC            ::   lxios_sini = .FALSE. ! is restart in a single file 
    56    LOGICAL, PUBLIC            ::   lxios_set  = .FALSE.  
    5753 
    5854   TYPE, PUBLIC ::   file_descriptor 
     
    7470   END TYPE file_descriptor 
    7571   TYPE(file_descriptor), DIMENSION(jpmax_files), PUBLIC ::   iom_file !: array containing the info for all opened files 
    76  
    77    INTEGER, PARAMETER, PUBLIC                   :: max_rst_fields = 85   
    78 !  CHARACTER(len=30),DIMENSION(max_rst_fields), PUBLIC   :: rst_fields ! names of variables in restart file 
    79  
    80    TYPE, PUBLIC :: RST_FIELD   
    81     CHARACTER(len=30) :: vname ! names of variables in restart file 
    82     CHARACTER(len=30) :: grid 
    83    END TYPE RST_FIELD 
    84    TYPE(RST_FIELD), PUBLIC :: rst_fields(max_rst_fields) 
    85  
    8672!$AGRIF_END_DO_NOT_TREAT 
    8773 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r8191 r8193  
    218218         ENDIF 
    219219         CALL iom_open( TRIM(clpath)//cn_ocerst_in, numror, kiolib = jlibalt ) 
    220 ! are we using XIOS to read the data? Part above will have to modified once XIOS 
    221 ! can handle checking if variable is in the restart file (there will be no need to open 
    222 ! restart) 
    223          IF(.NOT.lxios_set) lxios_read = lxios_read.AND.lxios_sini 
    224          IF( lxios_read) THEN 
    225          if(.NOT.lxios_set) then 
    226              rxios_context = 'nemo_rst' 
    227              call iom_init( rxios_context ) 
    228              lxios_set = .TRUE. 
    229          endif 
    230          ENDIF 
    231          IF( TRIM(Agrif_CFixed()) /= '0' .AND. lxios_read) THEN 
    232             rxios_context = 'nemo_rst' 
    233             call iom_init( rxios_context ) 
    234          ENDIF  
    235220      ENDIF 
    236221   END SUBROUTINE rst_read_open 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r8191 r8193  
    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? 
    7170      !! 
    7271      NAMELIST/namsbc_apr/ cn_dir, sn_apr, ln_ref_apr, rn_pref, ln_apr_obc 
     
    144143         IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
    145144            IF(lwp) WRITE(numout,*) 'sbc_apr:   ssh_ibb read in the restart file' 
    146             CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb, lrxios = lxios_read )   ! before inv. barometer ssh 
     145            CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh 
    147146            ! 
    148147         ELSE                                         !* no restart: set from nit000 values 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r8191 r8193  
    8282      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zun, zvn, zwn 
    8383      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdt, ztrds   ! 3D workspace 
    84       REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrdt, ztrds   ! 3D workspace 
    8584      !!---------------------------------------------------------------------- 
    8685      ! 
     
    126125      IF( ln_diaptr )   CALL dia_ptr( zvn )                                     ! diagnose the effective MSF  
    127126      ! 
    128 <<<<<<< .working 
    129127      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    130128         ALLOCATE(ztrdt( 1:jpi, 1:jpj, 1:jpk) ) 
     
    134132      ENDIF 
    135133      ! 
    136 ======= 
    137       IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    138          CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds ) 
    139          ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
    140          ztrds(:,:,:) = tsa(:,:,:,jp_sal) 
    141       ENDIF 
    142       ! 
    143 >>>>>>> .merge-right.r7923 
    144134      SELECT CASE ( nadv )                            !==  compute advection trend and add it to general trend  ==! 
    145135      CASE ( 1 )   ;    CALL tra_adv_cen2   ( kt, nit000, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  2nd order centered 
     
    172162      END SELECT 
    173163      ! 
    174 <<<<<<< .working 
    175164      IF( l_trdtra )   THEN                      ! save the advective trends for further diagnostics 
    176165         DO jk = 1, jpkm1 
     
    183172         DEALLOCATE (ztrds) 
    184173      ENDIF 
    185 ======= 
    186       IF( l_trdtra )   THEN                      ! save the advective trends for further diagnostics 
    187          DO jk = 1, jpkm1 
    188             ztrdt(:,:,jk) = tsa(:,:,jk,jp_tem) - ztrdt(:,:,jk) 
    189             ztrds(:,:,jk) = tsa(:,:,jk,jp_sal) - ztrds(:,:,jk) 
    190          END DO 
    191          CALL trd_tra( kt, 'TRA', jp_tem, jptra_totad, ztrdt ) 
    192          CALL trd_tra( kt, 'TRA', jp_sal, jptra_totad, ztrds ) 
    193          CALL wrk_dealloc( jpi, jpj, jpk, ztrdt, ztrds ) 
    194       ENDIF 
    195 >>>>>>> .merge-right.r7923 
    196174      !                                              ! print mean trends (used for debugging) 
    197175      IF(ln_ctl)   CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv  - Ta: ', mask1=tmask,               & 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r8191 r8193  
    8686      REAL(wp) ::   zfp_ui, zfp_vj, zfp_wk   !   -      - 
    8787      REAL(wp) ::   zfm_ui, zfm_vj, zfm_wk   !   -      - 
    88 <<<<<<< .working 
    8988      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zwi, zwz 
    9089      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz, zptry 
    9190      REAL(wp), ALLOCATABLE, DIMENSION(:,:)   :: z2d 
    92 ======= 
    93       REAL(wp), POINTER, DIMENSION(:,:,:) :: zwi, zwz 
    94       REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz, zptry 
    95       REAL(wp), POINTER, DIMENSION(:,:)   :: z2d 
    96 >>>>>>> .merge-right.r7923 
    9791      !!---------------------------------------------------------------------- 
    9892      ! 
     
    114108      IF( cdtype == 'TRA' .AND. (iom_use("uadv_heattr") .OR. iom_use("vadv_heattr") ) ) l_trans = .TRUE. 
    115109      ! 
    116 <<<<<<< .working 
    117110      IF( l_trd .OR. l_trans )  THEN 
    118111         ALLOCATE(ztrdx(1:jpi, 1:jpj, 1:jpk)) 
    119112         ALLOCATE(ztrdy(1:jpi, 1:jpj, 1:jpk)) 
    120113         ALLOCATE(ztrdz(1:jpi, 1:jpj, 1:jpk)) 
    121 ======= 
    122       IF( l_trd .OR. l_trans )  THEN 
    123          CALL wrk_alloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 
    124 >>>>>>> .merge-right.r7923 
    125114         ztrdx(:,:,:) = 0.e0   ;    ztrdy(:,:,:) = 0.e0   ;   ztrdz(:,:,:) = 0.e0 
    126 <<<<<<< .working 
    127115         ALLOCATE(z2d(1:jpi, 1:jpj)) 
    128 ======= 
    129          CALL wrk_alloc( jpi, jpj, z2d ) 
    130 >>>>>>> .merge-right.r7923 
    131116      ENDIF 
    132117      ! 
    133 <<<<<<< .working 
    134118      IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN   
    135119         ALLOCATE(zptry(1:jpi, 1:jpj, 1:jpk)) 
     
    137121      ENDIF 
    138122      ! 
    139 ======= 
    140       IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN   
    141          CALL wrk_alloc( jpi, jpj, jpk, zptry ) 
    142          zptry(:,:,:) = 0._wp 
    143       ENDIF 
    144       ! 
    145 >>>>>>> .merge-right.r7923 
    146123      zwi(:,:,:) = 0.e0 ;  
    147124      ! 
     
    331308      END DO 
    332309      ! 
    333 <<<<<<< .working 
    334310      DEALLOCATE( zwi ) 
    335311      DEALLOCATE( zwz ) 
     
    341317      ENDIF 
    342318      IF( cdtype == 'TRA' .AND. ln_diaptr ) DEALLOCATE( zptry ) 
    343 ======= 
    344       CALL wrk_dealloc( jpi, jpj, jpk, zwi, zwz ) 
    345       IF( l_trd .OR. l_trans )  THEN  
    346          CALL wrk_dealloc( jpi, jpj, jpk, ztrdx, ztrdy, ztrdz ) 
    347          CALL wrk_dealloc( jpi, jpj, z2d ) 
    348       ENDIF 
    349       IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL wrk_dealloc( jpi, jpj, jpk, zptry ) 
    350 >>>>>>> .merge-right.r7923 
    351319      ! 
    352320      IF( nn_timing == 1 )  CALL timing_stop('tra_adv_tvd') 
     
    392360      REAL(wp) ::   zfp_ui, zfp_vj, zfp_wk   !   -      - 
    393361      REAL(wp) ::   zfm_ui, zfm_vj, zfm_wk   !   -      - 
    394 <<<<<<< .working 
    395362      REAL(wp), ALLOCATABLE, DIMENSION(:,:  ) :: zwx_sav , zwy_sav 
    396363      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zwi, zwz, zhdiv, zwz_sav, zwzts 
     
    398365      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zptry 
    399366      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: ztrs 
    400 ======= 
    401       REAL(wp), POINTER, DIMENSION(:,:  ) :: zwx_sav , zwy_sav 
    402       REAL(wp), POINTER, DIMENSION(:,:,:) :: zwi, zwz, zhdiv, zwz_sav, zwzts 
    403       REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrdx, ztrdy, ztrdz 
    404       REAL(wp), POINTER, DIMENSION(:,:,:) :: zptry 
    405       REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrs 
    406 >>>>>>> .merge-right.r7923 
    407367      !!---------------------------------------------------------------------- 
    408368      ! 
     
    434394      ENDIF 
    435395      ! 
    436 <<<<<<< .working 
    437396      IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN   
    438397         ALLOCATE(zptry(1:jpi, 1:jpj, 1:jpk))        
     
    440399      ENDIF 
    441400      ! 
    442 ======= 
    443       IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN   
    444          CALL wrk_alloc( jpi, jpj,jpk, zptry ) 
    445          zptry(:,:,:) = 0._wp 
    446       ENDIF 
    447       ! 
    448 >>>>>>> .merge-right.r7923 
    449401      zwi(:,:,:) = 0._wp 
    450402      z_rzts = 1._wp / REAL( jnzts, wp ) 
     
    681633 
    682634      IF( cdtype == 'TRA' .AND. ln_diaptr ) DEALLOCATE(zptry ) 
    683       IF( cdtype == 'TRA' .AND. ln_diaptr ) CALL wrk_dealloc( jpi, jpj, jpk, zptry ) 
    684635      ! 
    685636      IF( nn_timing == 1 )  CALL timing_stop('tra_adv_tvd_zts') 
  • branches/UKMO/dev_r5518_GO6_package_fix_rnf_MOCI_TEST_SUITE/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90

    r8191 r8193  
    106106      INTEGER  ::  ji, jj, jk, jn   ! dummy loop indices 
    107107      INTEGER  ::  ikt 
    108 <<<<<<< .working 
    109108      REAL(wp) ::  zmsku, zabe1, zcof1, zcoef3       ! local scalars 
    110109      REAL(wp) ::  zmskv, zabe2, zcof2, zcoef4       !   -      - 
     
    114113      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), TARGET ::  ztrax, ztray, ztraz  
    115114      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), TARGET ::  ztrax_T, ztray_T, ztraz_T 
    116 ======= 
    117       REAL(wp) ::  zmsku, zabe1, zcof1, zcoef3       ! local scalars 
    118       REAL(wp) ::  zmskv, zabe2, zcof2, zcoef4       !   -      - 
    119       REAL(wp) ::  zcoef0, zbtr                      !   -      - 
    120       REAL(wp), POINTER, DIMENSION(:,:  ) ::  z2d 
    121       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zdkt, zdk1t, zdit, zdjt, ztfw  
    122 >>>>>>> .merge-right.r7923 
    123       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), TARGET ::  ztrax, ztray, ztraz  
    124       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), TARGET ::  ztrax_T, ztray_T, ztraz_T 
    125115      !!---------------------------------------------------------------------- 
    126116      ! 
    127117      IF( nn_timing == 1 )  CALL timing_start('tra_ldf_iso') 
    128118      ! 
    129 <<<<<<< .working 
    130119      ALLOCATE( z2d(1:jpi, 1:jpj))  
    131120      ALLOCATE( zdit(1:jpi, 1:jpj, 1:jpk)) 
     
    142131         ALLOCATE( ztraz_T(1:jpi,1:jpj,1:jpk))  
    143132      ENDIF 
    144 ======= 
    145       CALL wrk_alloc( jpi, jpj,      z2d )  
    146       CALL wrk_alloc( jpi, jpj, jpk, zdit, zdjt, ztfw, zdkt, zdk1t)  
    147       ALLOCATE( ztrax(jpi,jpj,jpk), ztray(jpi,jpj,jpk), ztraz(jpi,jpj,jpk) )  
    148       IF( l_trdtra .and. cdtype == 'TRA' ) ALLOCATE( ztrax_T(jpi,jpj,jpk), ztray_T(jpi,jpj,jpk), ztraz_T(jpi,jpj,jpk) )  
    149 >>>>>>> .merge-right.r7923 
    150133      ! 
    151134 
     
    364347      END DO 
    365348      ! 
    366 <<<<<<< .working 
    367349      IF( l_trdtra .AND. cdtype == "TRA" )   THEN      ! save the horizontal component of diffusive trends for further diagnostics 
    368350         CALL trd_tra( kt, cdtype, jp_tem, jptra_iso_x, ztrax_T ) 
     
    373355         CALL trd_tra( kt, cdtype, jp_sal, jptra_iso_z1, ztraz )    ! 
    374356      ENDIF 
    375 ======= 
    376       IF( l_trdtra .AND. cdtype == "TRA" )   THEN      ! save the horizontal component of diffusive trends for further diagnostics 
    377          CALL trd_tra( kt, cdtype, jp_tem, jptra_iso_x, ztrax_T ) 
    378          CALL trd_tra( kt, cdtype, jp_sal, jptra_iso_x, ztrax ) 
    379          CALL trd_tra( kt, cdtype, jp_tem, jptra_iso_y, ztray_T ) 
    380          CALL trd_tra( kt, cdtype, jp_sal, jptra_iso_y, ztray ) 
    381          CALL trd_tra( kt, cdtype, jp_tem, jptra_iso_z1, ztraz_T )  ! This is the first part of the vertical component 
    382          CALL trd_tra( kt, cdtype, jp_sal, jptra_iso_z1, ztraz )    ! 
    383       ENDIF 
    384       ! 
    385       CALL wrk_dealloc( jpi, jpj, z2d )  
    386       CALL wrk_dealloc( jpi, jpj, jpk, zdit, zdjt, ztfw, zdkt, zdk1t )  
    387 >>>>>>> .merge-right.r7923 
    388       DEALLOCATE( ztrax, ztray, ztraz )  
    389       IF( l_trdtra  .and. cdtype == 'TRA' ) DEALLOCATE( ztrax_T, ztray_T, ztraz_T )  
    390357      ! 
    391358      DEALLOCATE( z2d )  
Note: See TracChangeset for help on using the changeset viewer.