Changeset 10047


Ignore:
Timestamp:
2018-08-08T17:12:35+02:00 (2 years ago)
Author:
jpalmier
Message:

merge with GO6_package_branch 9385-10020 ; plus debug OMIP_DIC

Location:
branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM
Files:
52 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/CONFIG/SHARED/field_def_bgc.xml

    r9385 r10047  
    135135       <field id="OXY_INV"  field_ref="OXY_E3T"   long_name="OXY Inventory"               unit="mmol-O2/m2"   grid_ref="vert_sum" /> 
    136136       <field id="SURF_OXY" field_ref="OXY"       long_name="OXY Surface concentration"   unit="mmol-O2/m3"   grid_ref="grid_T_surface_extract" /> 
     137       <field id="OMD"      long_name="OMIP PI dissolved inorganic carbon"                unit="mmol-C/m3"  /> 
     138       <field id="OMD_E3T"  long_name="OMD * E3T"                                         unit="mmol-C/m2"   > OMD * e3t </field > 
     139       <field id="OMD_INV"  field_ref="OMD_E3T"   long_name="OMD Inventory"               unit="mmol-C/m2"   grid_ref="vert_sum" /> 
     140       <field id="SURF_OMD" field_ref="OMD"       long_name="OMD Surface concentration"   unit="mmol-C/m3"   grid_ref="grid_T_surface_extract" /> 
    137141 
    138142      <!-- Ideal traceurs : variables available with key_idtra --> 
     
    496500       <field id= "CO2STARAIR" long_name="MOCSY CO2star air"                         unit="mmol/m3"     /> 
    497501       <field id= "OCN_DPCO2"  long_name="MOCSY delta pCO2"                          unit="uatm"        /> 
     502 
     503       <!-- AXY (07/08/18): add new 2D OMIP diagnostics --> 
     504       <field id= "PI_ATM_PCO2"   long_name="OMIP PI Atmospheric pCO2"               unit="uatm"        /> 
     505       <field id= "PI_OCN_PH"     long_name="OMIP PI Surface ocean pH"               unit="-"           /> 
     506       <field id= "PI_OCN_PCO2"   long_name="OMIP PI Surface ocean pCO2"             unit="uatm"        /> 
     507       <field id= "PI_OCNH2CO3"   long_name="OMIP PI Surface ocean H2CO3 conc"       unit="mmol-C/m3"    /> 
     508       <field id= "PI_OCN_HCO3"   long_name="OMIP PI Surface ocean HCO3 conc"        unit="mmol-C/m3"    /> 
     509       <field id= "PI_OCN_CO3"    long_name="OMIP PI Surface ocean CO3 conc"         unit="mmol-C/m3"    /> 
     510       <field id= "PI_CO2FLUX"    long_name="OMIP PI Air-sea CO2 flux"               unit="mmol-C/m2/d"  /> 
     511       <field id= "PI_FGCO2"      long_name="OMIP PI Surface Downward CO2 Flux"      unit="kg-CO2/m2/s" /> 
     512       <field id= "PI_OM_CAL"     long_name="OMIP PI Omega calcite"                  unit="-"           /> 
     513       <field id= "PI_OM_ARG"     long_name="OMIP PI Omega aragonite"                unit="-"           /> 
     514       <field id= "PI_TCO2"       long_name="OMIP PI Total CO2"                      unit="umol/kg"     /> 
     515       <field id= "PI_ATM_XCO2"   long_name="OMIP PI Atmospheric xCO2"               unit="ppm"         /> 
     516       <field id= "PI_OCN_FCO2"   long_name="OMIP PI Surface ocean fCO2"             unit="uatm"        /> 
     517       <field id= "PI_ATM_FCO2"   long_name="OMIP PI Atmospheric fCO2"               unit="uatm"        /> 
     518       <field id= "PI_CO2STARAIR" long_name="OMIP PI MOCSY CO2star air"              unit="mmol/m3"     /> 
     519       <field id= "PI_OCN_DPCO2"  long_name="OMIP PI MOCSY delta pCO2"               unit="uatm"        /> 
    498520        
    499521 
     
    24652487    </field_group> 
    24662488 
     2489 
     2490    <field_group id="groupMEDUSA_omip_dic" > 
     2491      <!-- AXY (07/08/18): add new 2D OMIP diagnostics --> 
     2492       <field field_ref= "PI_ATM_PCO2"   name="PI_ATM_PCO2"   /> 
     2493       <field field_ref= "PI_OCN_PH"     name="PI_OCN_PH"   /> 
     2494       <field field_ref= "PI_OCN_PCO2"   name="PI_OCN_PCO2"   /> 
     2495       <field field_ref= "PI_OCNH2CO3"   name="PI_OCNH2CO3"   /> 
     2496       <field field_ref= "PI_OCN_HCO3"   name="PI_OCN_HCO3"   /> 
     2497       <field field_ref= "PI_OCN_CO3"    name="PI_OCN_CO3"   /> 
     2498       <field field_ref= "PI_CO2FLUX"    name="PI_CO2FLUX"   /> 
     2499       <field field_ref= "PI_FGCO2"      name="PI_FGCO2"   /> 
     2500       <field field_ref= "PI_OM_CAL"     name="PI_OM_CAL"   /> 
     2501       <field field_ref= "PI_OM_ARG"     name="PI_OM_ARG"   /> 
     2502       <field field_ref= "PI_TCO2"       name="PI_TCO2"   /> 
     2503       <field field_ref= "PI_ATM_XCO2"   name="PI_ATM_XCO2"   />  
     2504       <field field_ref= "PI_OCN_FCO2"   name="PI_OCN_FCO2"   /> 
     2505       <field field_ref= "PI_ATM_FCO2"   name="PI_ATM_FCO2"   /> 
     2506       <field field_ref= "PI_CO2STARAIR" name="PI_CO2STARAIR"   /> 
     2507       <field field_ref= "PI_OCN_DPCO2"  name="PI_OCN_DPCO2"   />  
     2508 
     2509 
     2510    </field_group> 
     2511 
     2512 
    24672513</field_definition> 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn.F90

    r6486 r10047  
    150150CONTAINS 
    151151   SUBROUTINE bdy_dyn( kt )      ! Empty routine 
     152   IMPLICIT NONE 
     153      INTEGER, INTENT( in )           :: kt               ! Main time step counter 
    152154      WRITE(*,*) 'bdy_dyn: You should not have seen this print! error?', kt 
    153155   END SUBROUTINE bdy_dyn 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn3d.F90

    r6486 r10047  
    309309CONTAINS 
    310310   SUBROUTINE bdy_dyn3d( kt )      ! Empty routine 
    311       WRITE(*,*) 'bdy_dyn3d: You should not have seen this print! error?', kt 
     311   IMPLICIT NONE 
     312    INTEGER, INTENT( in ) :: kt     ! Main time step counter 
     313    WRITE(*,*) 'bdy_dyn3d: You should not have seen this print! error?', kt 
    312314   END SUBROUTINE bdy_dyn3d 
    313315 
    314316   SUBROUTINE bdy_dyn3d_dmp( kt )      ! Empty routine 
    315       WRITE(*,*) 'bdy_dyn3d_dmp: You should not have seen this print! error?', kt 
     317   IMPLICIT NONE 
     318    INTEGER, INTENT( in ) :: kt     ! Main time step counter 
     319    WRITE(*,*) 'bdy_dyn3d_dmp: You should not have seen this print! error?', kt 
    316320   END SUBROUTINE bdy_dyn3d_dmp 
    317321 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90

    r6487 r10047  
    611611CONTAINS 
    612612   SUBROUTINE bdytide_init             ! Empty routine 
     613   IMPLICIT NONE 
    613614      WRITE(*,*) 'bdytide_init: You should not have seen this print! error?' 
    614615   END SUBROUTINE bdytide_init 
    615616   SUBROUTINE bdytide_update( kt, jit )   ! Empty routine 
     617   IMPLICIT NONE 
     618      INTEGER, INTENT( in )            ::   kt          ! Main timestep counter 
     619      INTEGER,INTENT(in),OPTIONAL      ::   jit         ! Barotropic timestep counter (for timesplitting option) 
    616620      WRITE(*,*) 'bdytide_update: You should not have seen this print! error?', kt, jit 
    617621   END SUBROUTINE bdytide_update 
    618622   SUBROUTINE bdy_dta_tides( kt, kit, time_offset )     ! Empty routine 
     623   IMPLICIT NONE 
    619624      INTEGER, INTENT( in )            ::   kt          ! Dummy argument empty routine       
    620625      INTEGER, INTENT( in ),OPTIONAL   ::   kit         ! Dummy argument empty routine 
    621626      INTEGER, INTENT( in ),OPTIONAL   ::   time_offset ! Dummy argument empty routine 
    622       WRITE(*,*) 'bdy_dta_tides: You should not have seen this print! error?', kt, jit 
     627      WRITE(*,*) 'bdy_dta_tides: You should not have seen this print! error?', kt, kit 
    623628   END SUBROUTINE bdy_dta_tides 
    624629#endif 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/BDY/bdytra.F90

    r6486 r10047  
    319319CONTAINS 
    320320   SUBROUTINE bdy_tra(kt)      ! Empty routine 
     321   IMPLICIT NONE 
     322      INTEGER, INTENT( in ) :: kt     ! Main time step counter    
    321323      WRITE(*,*) 'bdy_tra: You should not have seen this print! error?', kt 
    322324   END SUBROUTINE bdy_tra 
    323325 
    324326   SUBROUTINE bdy_tra_dmp(kt)      ! Empty routine 
     327   IMPLICIT NONE 
     328      INTEGER, INTENT( in ) :: kt     ! Main time step counter    
    325329      WRITE(*,*) 'bdy_tra_dmp: You should not have seen this print! error?', kt 
    326330   END SUBROUTINE bdy_tra_dmp 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/BDY/bdyvol.F90

    r6487 r10047  
    178178CONTAINS 
    179179   SUBROUTINE bdy_vol( kt )        ! Empty routine 
     180   IMPLICIT NONE 
     181      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    180182      WRITE(*,*) 'bdy_vol: You should not have seen this print! error?', kt 
    181183   END SUBROUTINE bdy_vol 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90

    r6486 r10047  
    116116CONTAINS 
    117117   SUBROUTINE cor_c1d              ! Empty routine 
     118   IMPLICIT NONE 
    118119   END SUBROUTINE cor_c1d    
     120    
    119121   SUBROUTINE dyn_cor_c1d ( kt )      ! Empty routine 
     122   IMPLICIT NONE 
     123      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index    
    120124      WRITE(*,*) 'dyn_cor_c1d: You should not have seen this print! error?', kt 
    121125   END SUBROUTINE dyn_cor_c1d 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90

    r6486 r10047  
    165165   !!---------------------------------------------------------------------- 
    166166CONTAINS 
    167    SUBROUTINE stp_c1d ( kt )      ! dummy routine 
    168       WRITE(*,*) 'stp_c1d: You should not have seen this print! error?', kt 
     167   SUBROUTINE stp_c1d ( kstp )      ! dummy routine 
     168   IMPLICIT NONE 
     169   INTEGER, INTENT(in) ::   kstp   ! ocean time-step index 
     170      WRITE(*,*) 'stp_c1d: You should not have seen this print! error?', kstp 
    169171   END SUBROUTINE stp_c1d 
    170172#endif 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90

    r6486 r10047  
    13021302 
    13031303   SUBROUTINE dia_dct_init          ! Dummy routine 
    1304       WRITE(*,*) 'dia_dct_init: You should not have seen this print! error?', kt 
     1304   IMPLICIT NONE 
     1305      WRITE(*,*) 'dia_dct_init: You should not have seen this print! error?' 
    13051306   END SUBROUTINE dia_dct_init 
    13061307 
    13071308   SUBROUTINE dia_dct( kt )         ! Dummy routine 
     1309   IMPLICIT NONE 
    13081310      INTEGER, INTENT( in ) :: kt   ! ocean time-step index 
    13091311      WRITE(*,*) 'dia_dct: You should not have seen this print! error?', kt 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DIA/diahth.F90

    r6486 r10047  
    343343CONTAINS 
    344344   SUBROUTINE dia_hth( kt )         ! Empty routine 
    345       WRITE(*,*) 'dia_hth: You should not have seen this print! error?', kt 
     345   IMPLICIT NONE 
     346    INTEGER, INTENT( in ) ::   kt      ! ocean time-step index 
     347    WRITE(*,*) 'dia_hth: You should not have seen this print! error?', kt 
    346348   END SUBROUTINE dia_hth 
    347349#endif 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r9207 r10047  
    102102 
    103103      ! 
     104      z2d(:,:) = 0._wp 
    104105      z3d(:,:,:) = 0._wp 
    105106      IF( PRESENT( pvtr ) ) THEN 
     
    246247         ! 
    247248         IF( iom_use("zotemglo") ) THEN    ! i-mean i-k-surface  
     249            zmask(:,:,:) = 0._wp 
     250            zts(:,:,:,:) = 0._wp 
    248251            DO jk = 1, jpkm1 
    249252               DO jj = 1, jpj 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DIA/diawri.F90

    r8400 r10047  
    246246            z3d(:,:,jk) = wn(:,:,jk) * z2d(:,:) 
    247247         END DO 
     248         CALL lbc_lnk( z3d(:,:,:), 'W', 1. ) 
    248249         CALL iom_put( "w_masstr" , z3d )   
    249250         IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 
     
    252253      CALL iom_put( "avt" , avt                        )    ! T vert. eddy diff. coef. 
    253254      CALL iom_put( "avm" , avmu                       )    ! T vert. eddy visc. coef. 
     255#if defined key_zdftke 
    254256      IF( lk_zdftke ) THEN    
    255257         CALL iom_put( "tke"      , en                               )    ! TKE budget: Turbulent Kinetic Energy    
    256258         CALL iom_put( "tke_niw"  , e_niw                            )    ! TKE budget: Near-inertial waves    
    257259      ENDIF  
     260#endif 
    258261      CALL iom_put( "avs" , fsavs(:,:,:)               )    ! S vert. eddy diff. coef. (useful only with key_zdfddm) 
    259262                                                            ! Log of eddy diff coef 
     
    334337            z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
    335338         END DO 
     339         CALL lbc_lnk( z3d(:,:,:), 'U', -1. ) 
    336340         CALL iom_put( "u_masstr", z3d )                  ! mass transport in i-direction 
     341         CALL lbc_lnk( z2d(:,:), 'U', -1. ) 
    337342         CALL iom_put( "u_masstr_vint", z2d )             ! mass transport in i-direction vertical sum 
    338343      ENDIF 
     
    370375            z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 
    371376         END DO 
     377         CALL lbc_lnk( z3d(:,:,:), 'V', -1. ) 
    372378         CALL iom_put( "v_masstr", z3d )                  ! mass transport in j-direction 
    373379      ENDIF 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DOM/dom_oce.F90

    r8427 r10047  
    254254   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bathy                              !: ocean depth (meters) 
    255255   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   tmask_i, umask_i, vmask_i, fmask_i !: interior domain T-point mask 
     256   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: tmask_i_diag     !: partial mask for use in T diagnostic mask calc.  
     257   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: umask_i_diag     !: partial mask for use in U diagnostic mask calc.  
     258   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: vmask_i_diag     !: partial mask for use in V diagnostic mask calc.  
    256259   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   bmask                              !: land/ocean mask of barotropic stream function 
    257260 
     
    406409 
    407410      ALLOCATE( tmask(jpi,jpj,jpk) , umask(jpi,jpj,jpk),     &  
    408          &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk), STAT=ierr(11) ) 
     411         &      vmask(jpi,jpj,jpk) , fmask(jpi,jpj,jpk),     & 
     412                tmask_i_diag(jpi,jpj,jpk),     & 
     413                umask_i_diag(jpi,jpj,jpk),     & 
     414                vmask_i_diag(jpi,jpj,jpk),     & 
     415                STAT=ierr(11) ) 
    409416 
    410417      ALLOCATE( wmask(jpi,jpj,jpk) , wumask(jpi,jpj,jpk), wvmask(jpi,jpj,jpk) , STAT=ierr(12) ) 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90

    r8280 r10047  
     1 
    12MODULE dommsk 
    23   !!====================================================================== 
     
    3031   USE dynspg_oce      ! choice/control of key cpp for surface pressure gradient 
    3132   USE wrk_nemo        ! Memory allocation 
     33   USE domwri 
    3234   USE timing          ! Timing 
    3335 
     
    138140      REAL(wp) ::  zphi_drake_passage, zshlat_antarc 
    139141      REAL(wp), POINTER, DIMENSION(:,:) ::  zwf 
     142      REAL(wp) :: uvt(jpi,jpj)   ! dummy array for masking purposes. 
    140143      !! 
    141144      NAMELIST/namlbc/ rn_shlat, ln_vorlat 
     
    223226      ! -------------------- 
    224227      tmask_i(:,:) = ssmask(:,:)            ! (ISH) tmask_i = 1 even on the ice shelf 
     228 
    225229      iif = jpreci                         ! ??? 
    226230      iil = nlci - jpreci + 1 
     
    246250         ENDIF 
    247251      ENDIF 
     252 
     253 
    248254      IF( jperio == 5 .OR. jperio == 6 ) THEN      ! F-point pivot 
    249255         tpol(     1    :jpiglo) = 0._wp 
     
    263269                  &            * tmask(ji,jj+1,jk) * tmask(ji+1,jj+1,jk) 
    264270            END DO 
    265          END DO 
     271         END DO  
    266272      END DO 
    267273      ! (ISF) MIN(1,SUM(umask)) is here to check if you have effectively at least 1 wet u point 
     
    282288      CALL lbc_lnk( vmask_i, 'V', 1._wp ) 
    283289      CALL lbc_lnk( fmask_i, 'F', 1._wp ) 
     290 
     291 
     292      ! Set up mask for diagnostics on T points, to exclude duplicate 
     293      ! data points in wrap and N-fold regions.  
     294      CALL dom_uniq( uvt, 'T' ) 
     295      DO jk = 1, jpk 
     296         tmask_i_diag(:,:,jk) = tmask(:,:,jk) * uvt(:,:) 
     297      END DO 
     298 
     299      ! Set up mask for diagnostics on U points, to exclude duplicate 
     300      ! data points in wrap and N-fold regions.  
     301      umask_i_diag(:,:,:) = 1.0 
     302      umask_i_diag(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:) 
     303      CALL lbc_lnk( umask_i_diag, 'U', 1. ) 
     304 
     305      ! Now mask out any duplicate points 
     306      CALL dom_uniq( uvt, 'U' ) 
     307      DO jk = 1, jpk 
     308         umask_i_diag(:,:,jk) = umask_i_diag(:,:,jk) * uvt(:,:) 
     309      END DO 
     310 
     311 
     312      ! Set up mask for diagnostics on V points, to exclude duplicate 
     313      ! data points in wrap and N-fold regions.  
     314      vmask_i_diag(:,:,:) = 1.0 
     315      vmask_i_diag(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:) 
     316      CALL lbc_lnk( vmask_i_diag, 'V', 1. ) 
     317 
     318      ! Now mask out any duplicate points 
     319      CALL dom_uniq( uvt, 'V' ) 
     320      DO jk = 1, jpk 
     321         vmask_i_diag(:,:,jk) = vmask_i_diag(:,:,jk) * uvt(:,:) 
     322      END DO 
     323 
     324 
    284325 
    285326      ! 3. Ocean/land mask at wu-, wv- and w points  
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r9321 r10047  
    2626   PRIVATE 
    2727 
    28    PUBLIC dom_wri        ! routine called by inidom.F90 
     28   PUBLIC dom_wri, dom_uniq  ! routines called by inidom.F90 and iom.F90 
    2929 
    3030   !! * Substitutions 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90

    r6486 r10047  
    107107CONTAINS 
    108108   SUBROUTINE dyn_spg_exp( kt )       ! Empty routine 
     109   IMPLICIT NONE 
     110      INTEGER, INTENT(in)  ::   kt   ! ocean time-step index   
    109111      WRITE(*,*) 'dyn_spg_exp: You should not have seen this print! error?', kt 
    110112   END SUBROUTINE dyn_spg_exp 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/FLO/floats.F90

    r6486 r10047  
    146146CONTAINS 
    147147   SUBROUTINE flo_stp( kt )          ! Empty routine 
     148   IMPLICIT NONE 
     149      INTEGER, INTENT( in  ) ::   kt   ! ocean time step    
    148150      WRITE(*,*) 'flo_stp: You should not have seen this print! error?', kt 
    149151   END SUBROUTINE flo_stp 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r9321 r10047  
    14001400      IF ( ln_mskland ) THEN 
    14011401         ! mask land points, keep values on coast line -> specific mask for U, V and W points 
     1402 
     1403 
    14021404         SELECT CASE ( cdgrd ) 
    1403          CASE('T')   ;   zmask(:,:,:)       = tmask(:,:,:) 
    1404          CASE('U')   ;   zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:)   ;   CALL lbc_lnk( zmask, 'U', 1. ) 
    1405          CASE('V')   ;   zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:)   ;   CALL lbc_lnk( zmask, 'V', 1. ) 
    1406          CASE('W')   ;   zmask(:,:,2:jpk  ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk)   ;   zmask(:,:,1) = tmask(:,:,1) 
    1407          END SELECT 
     1405         ! The masks applied here are specifically used to mask out duplicate  
     1406         ! data points in wrap columns and N-fold rows in order to ensure bit  
     1407         ! reproducibility of diagnostics which have not undergone an explicit 
     1408         ! lbc_lnk prior to writing. Such fields are prone to junk values at  
     1409         ! duplicate points since those points are often excluded from the  
     1410         ! core field computation process.  
     1411         CASE('T')    
     1412            zmask(:,:,:) = tmask_i_diag(:,:,:) 
     1413         CASE('U')       
     1414            zmask(:,:,:) = umask_i_diag(:,:,:) 
     1415    CASE('V')    
     1416            zmask(:,:,:) = vmask_i_diag(:,:,:) 
     1417         CASE('W')    
     1418            zmask(:,:,2:jpk  ) = tmask_i_diag(:,:,1:jpkm1) + tmask_i_diag(:,:,2:jpk)    
     1419            zmask(:,:,1) = tmask_i_diag(:,:,1) 
     1420        END SELECT 
    14081421         ! 
    14091422#if ! defined key_xios2 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r6486 r10047  
    210210      ! 
    211211      REAL(wp), DIMENSION(:,:), ALLOCATABLE ::   ztemp2d  ! temporary array to read ahmcoef file 
     212      LOGICAL ::  tempmask( jpi,jpj)   ! Temporary mask to avoid Cray compiler bug at cce 8.3.4 
    212213      !!---------------------------------------------------------------------- 
    213214      ! 
     
    252253         zemax = MAXVAL ( e1t(:,:) * e2t(:,:), tmask(:,:,1) .GE. 0.5 ) 
    253254         zemin = MINVAL ( e1t(:,:) * e2t(:,:), tmask(:,:,1) .GE. 0.5 ) 
    254          zeref = MAXVAL ( e1t(:,:) * e2t(:,:),   & 
    255              &   tmask(:,:,1) .GE. 0.5 .AND. ABS(gphit(:,:)) .GT. 50. ) 
     255         tempmask(:,:) = .FALSE. 
     256         ! Pre calculate mask for zeref since embedding the following 
     257         ! term in the MAXVAL operation offends the Cray compiler for no  
     258         ! justifiable reason under certain conditions.  
     259         tempmask(:,:) = (tmask(:,:,1) .GE. 0.5) .AND. (ABS(gphit(:,:)) .GT. 50.) 
     260         zeref = MAXVAL ( e1t(:,:) * e2t(:,:), tempmask(:,:) ) 
    256261  
    257262         DO jj = 1, jpj 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_smag.F90

    r6486 r10047  
    294294CONTAINS 
    295295   SUBROUTINE ldf_dyn_smag( kt )       ! Empty routine 
     296   IMPLICIT NONE 
     297      INTEGER :: kt                    ! timestep    
    296298      WRITE(*,*) 'ldf_dyn_smag: You should not have seen this print! error? check keys ldf:c3d+smag', kt 
    297299   END SUBROUTINE ldf_dyn_smag 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra_smag.F90

    r6486 r10047  
    204204CONTAINS 
    205205   SUBROUTINE ldf_tra_smag( kt )       ! Empty routine 
    206       WRITE(*,*) 'ldf_dyn_smag: You should not have seen this print! error? check keys ldf:c3d+smag', kt 
     206   IMPLICIT NONE 
     207        INTEGER, INTENT( in ) ::   kt  ! ocean time-step inedx 
     208        WRITE(*,*) 'ldf_dyn_smag: You should not have seen this print! error? check keys ldf:c3d+smag', kt 
    207209   END SUBROUTINE ldf_tra_smag 
    208210#endif 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_ice.F90

    r8400 r10047  
    167167 
    168168#if defined key_cice 
    169       ALLOCATE( qla_ice(jpi,jpj,ncat) , qlw_ice(jpi,jpj,1)    , qsr_ice(jpi,jpj,1)    , & 
     169      ALLOCATE( qla_ice(jpi,jpj,ncat) , qlw_ice(jpi,jpj,1)    , qsr_ice(jpi,jpj,jpl)  , & 
    170170                wndi_ice(jpi,jpj)     , tatm_ice(jpi,jpj)     , qatm_ice(jpi,jpj)     , & 
    171171                wndj_ice(jpi,jpj)     , nfrzmlt(jpi,jpj)      , ss_iou(jpi,jpj)       , & 
     
    180180      IF( ln_cpl )   ALLOCATE( u_ice(jpi,jpj)        , fr1_i0(jpi,jpj)       , tn_ice (jpi,jpj,jpl)  , & 
    181181         &                     v_ice(jpi,jpj)        , fr2_i0(jpi,jpj)       , alb_ice(jpi,jpj,1)    , & 
    182          &                     emp_ice(jpi,jpj)      , qns_ice(jpi,jpj,1)    , dqns_ice(jpi,jpj,1)   , & 
     182         &                     emp_ice(jpi,jpj)      , qns_ice(jpi,jpj,jpl)  , dqns_ice(jpi,jpj,1)   , & 
    183183         &                     a_p(jpi,jpj,jpl)      , ht_p(jpi,jpj,jpl)     , tsfc_ice(jpi,jpj,jpl) , & 
    184184         &                     kn_ice(jpi,jpj,jpl) ,    STAT=ierr(2) ) 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90

    r8400 r10047  
    11781178 
    11791179   SUBROUTINE sbc_ice_cice ( kt, ksbc )     ! Dummy routine 
     1180      IMPLICIT NONE 
     1181      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     1182      INTEGER, INTENT(in) ::   ksbc    ! surface forcing type 
    11801183      WRITE(*,*) 'sbc_ice_cice: You should not have seen this print! error?', kt 
    11811184   END SUBROUTINE sbc_ice_cice 
    11821185 
    11831186   SUBROUTINE cice_sbc_init (ksbc)    ! Dummy routine 
     1187      IMPLICIT NONE 
     1188      INTEGER, INTENT(in) ::   ksbc    ! surface forcing type 
    11841189      WRITE(*,*) 'cice_sbc_init: You should not have seen this print! error?' 
    11851190   END SUBROUTINE cice_sbc_init 
    11861191 
    11871192   SUBROUTINE cice_sbc_final     ! Dummy routine 
     1193      IMPLICIT NONE 
    11881194      WRITE(*,*) 'cice_sbc_final: You should not have seen this print! error?' 
    11891195   END SUBROUTINE cice_sbc_final 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_lim.F90

    r6498 r10047  
    648648CONTAINS 
    649649   SUBROUTINE sbc_ice_lim ( kt, kblk )     ! Dummy routine 
     650   IMPLICIT NONE 
     651      INTEGER, INTENT(in) ::   kt      ! ocean time step 
     652      INTEGER, INTENT(in) ::   kblk    ! type of bulk (=3 CLIO, =4 CORE, =5 COUPLED) 
    650653      WRITE(*,*) 'sbc_ice_lim: You should not have seen this print! error?', kt, kblk 
    651654   END SUBROUTINE sbc_ice_lim 
    652655   SUBROUTINE sbc_lim_init                 ! Dummy routine 
     656   IMPLICIT NONE 
    653657   END SUBROUTINE sbc_lim_init 
    654658#endif 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90

    r7771 r10047  
    3333   USE wrk_nemo       ! Memory Allocation 
    3434   USE timing         ! Timing 
     35   USE phycst         ! Physical constants 
    3536   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined)   
    3637   USE iom 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90

    r6486 r10047  
    134134      INTEGER  ::   ierror              ! local integer 
    135135      ! 
    136       TYPE(FLD_N)        ::   sn_qgh    ! informations about the geotherm. field to be read 
    137       CHARACTER(len=256) ::   cn_dir    ! Root directory for location of ssr files 
     136      TYPE(FLD_N), DIMENSION (1)  ::   slf_q     ! array of namelist informations on the fields to read 
     137      TYPE(FLD_N)                 ::   sn_qgh    ! informations about the geotherm. field to be read 
     138      CHARACTER(len=256)          ::   cn_dir    ! Root directory for location of ssr files 
    138139      ! 
    139140      NAMELIST/nambbc/ln_trabbc, nn_geoflx, rn_geoflx_cst, sn_qgh, cn_dir  
     
    173174            IF(lwp) WRITE(numout,*) '      *** variable geothermal heat flux' 
    174175            ! 
     176            slf_q(1) = sn_qgh 
     177            ! 
    175178            ALLOCATE( sf_qgh(1), STAT=ierror ) 
    176179            IF( ierror > 0 ) THEN 
     
    179182            ENDIF 
    180183            ALLOCATE( sf_qgh(1)%fnow(jpi,jpj,1)   ) 
    181             IF( sn_qgh%ln_tint )ALLOCATE( sf_qgh(1)%fdta(jpi,jpj,1,2) ) 
     184            IF( slf_q(1)%ln_tint )   ALLOCATE( sf_qgh(1)%fdta(jpi,jpj,1,2) ) 
    182185            ! fill sf_chl with sn_chl and control print 
    183             CALL fld_fill( sf_qgh, (/ sn_qgh /), cn_dir, 'tra_bbc_init',   & 
     186            CALL fld_fill( sf_qgh, slf_q, cn_dir, 'tra_bbc_init',   & 
    184187               &          'bottom temperature boundary condition', 'nambbc' ) 
    185188 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90

    r7179 r10047  
    195195                    CALL ken_p2k( kt , zke ) 
    196196                      CALL iom_put( "ketrd_convP2K", zke )     ! conversion -rau*g*w 
     197# if defined key_ldfslp || key_esopa 
    197198        CASE( jpdyn_eivke ) 
    198199            ! CMIP6 diagnostic tknebto = tendency of KE from 
     
    216217            CALL iom_put("ketrd_eiv", zke2d) 
    217218            CALL wrk_dealloc( jpi, jpj, zke2d ) 
     219#endif 
    218220         ! 
    219221      END SELECT 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r9321 r10047  
    12311231CONTAINS 
    12321232   SUBROUTINE zdf_gls_init           ! Empty routine 
     1233   IMPLICIT NONE 
    12331234      WRITE(*,*) 'zdf_gls_init: You should not have seen this print! error?' 
    12341235   END SUBROUTINE zdf_gls_init 
     1236    
    12351237   SUBROUTINE zdf_gls( kt )          ! Empty routine 
     1238   IMPLICIT NONE 
     1239      INTEGER, INTENT(in) ::   kt ! ocean time step    
    12361240      WRITE(*,*) 'zdf_gls: You should not have seen this print! error?', kt 
    12371241   END SUBROUTINE zdf_gls 
     1242    
    12381243   SUBROUTINE gls_rst( kt, cdrw )          ! Empty routine 
     1244   IMPLICIT NONE 
    12391245      INTEGER         , INTENT(in) ::   kt         ! ocean time-step 
    12401246      CHARACTER(len=*), INTENT(in) ::   cdrw       ! "READ"/"WRITE" flag 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90

    r6486 r10047  
    15761576CONTAINS 
    15771577   SUBROUTINE zdf_kpp_init           ! Dummy routine 
     1578   IMPLICIT NONE 
    15781579      WRITE(*,*) 'zdf_kpp_init: You should not have seen this print! error?' 
    15791580   END SUBROUTINE zdf_kpp_init 
    15801581   SUBROUTINE zdf_kpp( kt )          ! Dummy routine 
     1582   IMPLICIT NONE 
     1583      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    15811584      WRITE(*,*) 'zdf_kpp: You should not have seen this print! error?', kt 
    15821585   END SUBROUTINE zdf_kpp 
    15831586   SUBROUTINE tra_kpp( kt )          ! Dummy routine 
     1587   IMPLICIT NONE 
     1588      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    15841589      WRITE(*,*) 'tra_kpp: You should not have seen this print! error?', kt 
    15851590   END SUBROUTINE tra_kpp 
    15861591   SUBROUTINE trc_kpp( kt )          ! Dummy routine 
     1592   IMPLICIT NONE 
     1593      INTEGER, INTENT( in  ) ::   kt   ! ocean time step 
    15871594      WRITE(*,*) 'trc_kpp: You should not have seen this print! error?', kt 
    15881595   END SUBROUTINE trc_kpp 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90

    r6486 r10047  
    307307CONTAINS 
    308308   SUBROUTINE zdf_ric_init         ! Dummy routine 
     309   IMPLICIT NONE 
    309310   END SUBROUTINE zdf_ric_init 
    310311   SUBROUTINE zdf_ric( kt )        ! Dummy routine 
     312   IMPLICIT NONE 
     313      INTEGER, INTENT( in ) ::   kt                           ! ocean time-step 
    311314      WRITE(*,*) 'zdf_ric: You should not have seen this print! error?', kt 
    312315   END SUBROUTINE zdf_ric 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/OPA_SRC/oce.F90

    r8280 r10047  
    101101      INTEGER :: ierr(5) 
    102102      !!---------------------------------------------------------------------- 
     103      ierr(:) = 0 
    103104      ! 
    104105      ALLOCATE( ub   (jpi,jpj,jpk)      , un   (jpi,jpj,jpk)      , ua(jpi,jpj,jpk)       ,     & 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/C14b/trcsms_c14b.F90

    r6486 r10047  
    330330CONTAINS 
    331331   SUBROUTINE trc_sms_c14b( kt )       ! Empty routine 
     332      IMPLICIT NONE 
     333      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    332334      WRITE(*,*) 'trc_freons: You should not have seen this print! error?', kt 
    333335   END SUBROUTINE trc_sms_c14b 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/air_sea.F90

    r10045 r10047  
    5959                                   zalk, zdic, zoxy, zsal, ztmp,          & 
    6060#  if defined key_omip_dic 
    61                                    pi_fgco2,                               & 
    62                                    f_pi_co2flux, f_pi_co2flux2d,           & 
    63                                    f_pi_co2starair_2d, f_pi_co3,           & 
    64                                    f_pi_fco2a_2d, f_pi_fco2w_2d,           & 
    65                                    f_pi_h2co3, f_pi_hco3,                  & 
    66                                    f_pi_ocndpco2_2d,                       & 
    67                                    f_pi_omarg, f_pi_omcal,                 & 
    68                                    f_pi_pco2a2d, f_pi_pco2atm, f_pi_pco2w, & 
    69                                    f_pi_pco2w2d, f_pi_ph,                  & 
    70                                    f_pi_TDIC, f_pi_TDIC2d,                 & 
    71                                    f_pi_xco2a, f_pi_xco2a_2d,              & 
    72                                    zomd,                                   & 
    73 #  endif                                    
    74 # endif 
     61                                   pi_fgco2,                                 & 
     62                                   f_pi_co2flux, f_pi_co2flux_2d,            & 
     63                                   f_pi_co2starair_2d, f_pi_co3,             & 
     64                                   f_pi_fco2a_2d, f_pi_fco2w_2d,             & 
     65                                   f_pi_h2co3, f_pi_hco3,                    & 
     66                                   f_pi_ocndpco2_2d,                         & 
     67                                   f_pi_omarg, f_pi_omcal,                   & 
     68                                   f_pi_pco2a_2d, f_pi_pco2atm, f_pi_pco2w,  & 
     69                                   f_pi_pco2w_2d, f_pi_ph,                   & 
     70                                   f_pi_TDIC, f_pi_TDIC_2d,                  & 
     71                                   f_pi_xco2a, f_pi_xco2a_2d,                & 
     72               f_pi_ph_2d, f_pi_omcal_2d, f_pi_omarg_2d, & 
     73               f_pi_h2co3_2d, f_pi_hco3_2d, f_pi_co3_2d, & 
     74                                   zomd,                                     & 
     75#  endif   !! key_omip_dic                                 
     76# endif  !! key_roam 
    7577# if defined key_mocsy 
    7678                                   zpho,                                  & 
     79# endif  
     80                                   zchd, zchn, zdin, zsil 
     81      USE dom_oce,           ONLY: e3t_0, gphit, tmask, mig, mjg 
     82# if defined key_vvl 
     83      USE dom_oce,           ONLY: e3t_n 
    7784# endif 
    78                                    zchd, zchn, zdin, zsil 
    79       USE dom_oce,           ONLY: e3t_0, e3t_n, gphit, tmask, mig, mjg 
    80 # if defined key_iomput 
    8185      USE iom,               ONLY: lk_iomput 
    82 # endif 
    8386      USE in_out_manager,    ONLY: lwp, numout 
    8487      USE par_kind,          ONLY: wp 
     
    101104#  else 
    102105      USE trcco2_medusa,     ONLY: trc_co2_medusa 
    103 #  endif 
     106#  endif  
    104107      USE trcdms_medusa,     ONLY: trc_dms_medusa 
    105108      USE trcoxy_medusa,     ONLY: trc_oxy_medusa 
     
    136139#  if defined key_omip_dic 
    137140      !! AXY (06/08/18): output variables that are not different for OMIP DIC 
     141      REAL(wp), DIMENSION(jpi,jpj) :: f_pi_fco2w 
     142      REAL(wp), DIMENSION(jpi,jpj) :: f_pi_fco2atm 
     143      REAL(wp), DIMENSION(jpi,jpj) :: f_pi_co2starair, f_pi_dpco2 
    138144      REAL(wp) :: f_rhosw_dum, f_schmidtco2_dum, f_kwco2_dum,f_K0_dum 
    139145#  endif 
     
    208214      call trc_rst_dia_stat(zpho(:,:), 'zpho') 
    209215#  endif 
    210  
    211216#  if defined key_axy_carbchem 
    212217#   if defined key_mocsy 
     
    330335               !! mmol / m3 -> umol / kg 
    331336               f_pi_TDIC(ji,jj) = (zomd(ji,jj) / f_rhosw(ji,jj)) * 1000. 
    332 #    endif 
     337#    endif  !! omip 
    333338            ENDIF 
    334339         ENDDO 
     
    355360#    endif 
    356361                
    357 #   else    
     362#   else   !! mocsy 
    358363      !!----------------------------------------------------------- 
    359364      !! Blackford et al. (2007) carbonate chemistry 
     
    392397      ENDDO 
    393398 
    394 #   endif 
    395 #  else 
     399#   endif !! mocsy  
     400#  else  !! carbchem 
    396401      !!----------------------------------------------------------- 
    397402      !! No carbonate chemistry 
     
    434439         ENDDO 
    435440      ENDDO 
    436 #  endif 
     441#  endif  !! carbchem  
    437442 
    438443#  if defined key_axy_killco2flux 
     
    634639                  !! AXY (06/08/18): diagnostics for OMIP PI DIC 
    635640                  IF( med_diag%PI_ATM_PCO2%dgsave ) THEN 
    636                      f_pi_pco2a2d(ji,jj) = f_pi_pco2atm(ji,jj) 
    637                   ENDIF 
    638                   IF( med_diag%OCN_PCO2%dgsave ) THEN 
    639                      f_pi_pco2w2d(ji,jj) = f_pi_pco2w(ji,jj) 
     641                     f_pi_pco2a_2d(ji,jj) = f_pi_pco2atm(ji,jj) 
     642                  ENDIF 
     643                  IF( med_diag%PI_OCN_PCO2%dgsave ) THEN 
     644                     f_pi_pco2w_2d(ji,jj) = f_pi_pco2w(ji,jj) 
    640645                  ENDIF 
    641646                  IF( med_diag%PI_CO2FLUX%dgsave ) THEN 
    642647                     !! mmol/m3/d -> mmol/m2/d 
    643                      f_pi_co2flux2d(ji,jj) = f_pi_co2flux(ji,jj) * fse3t(ji,jj,1) 
     648                     f_pi_co2flux_2d(ji,jj) = f_pi_co2flux(ji,jj) * fse3t(ji,jj,1) 
    644649                  ENDIF 
    645650                  IF( med_diag%PI_TCO2%dgsave ) THEN 
    646                      f_PI_TDIC2d(ji,jj) = f_PI_TDIC(ji,jj) 
     651                     f_PI_TDIC_2d(ji,jj) = f_PI_TDIC(ji,jj) 
    647652                  ENDIF 
    648653                  IF( med_diag%PI_ATM_XCO2%dgsave ) THEN 
     
    667672                          CO2flux_conv 
    668673                  ENDIF 
     674                  IF( med_diag%PI_OCN_PH%dgsave ) THEN 
     675                     f_pi_ph_2d(ji,jj) = f_pi_ph(ji,jj) 
     676                  ENDIF                   
     677                  IF( med_diag%PI_OCNH2CO3%dgsave ) THEN 
     678                     f_pi_h2co3_2d(ji,jj) = f_pi_h2co3(ji,jj) 
     679                  ENDIF                   
     680                  IF( med_diag%PI_OCN_HCO3%dgsave ) THEN 
     681                     f_pi_hco3_2d(ji,jj) = f_pi_hco3(ji,jj) 
     682                  ENDIF                   
     683                  IF( med_diag%PI_OCN_CO3%dgsave ) THEN 
     684                     f_pi_co3_2d(ji,jj) = f_pi_co3(ji,jj) 
     685                  ENDIF                   
     686                  IF( med_diag%PI_OM_CAL%dgsave ) THEN 
     687                     f_pi_omcal_2d(ji,jj) = f_pi_omcal(ji,jj) 
     688                  ENDIF                   
     689                  IF( med_diag%PI_OM_ARG%dgsave ) THEN 
     690                     f_pi_omarg_2d(ji,jj) = f_pi_omarg(ji,jj) 
     691                  ENDIF                   
    669692#   endif                   
    670693               ENDIF 
     
    672695         ENDDO 
    673696      ENDDO 
    674  
    675 #  endif 
    676697 
    677698      !!----------------------------------------------------------------- 
     
    766787         ENDDO 
    767788      ENDDO 
    768 # endif 
     789# endif  !! Roam 
    769790       
    770791   END SUBROUTINE air_sea 
    771792 
    772 #else 
     793#else  !! medusa 
    773794   !!====================================================================== 
    774795   !!  Dummy module :                                   No MEDUSA bio-model 
     
    778799      WRITE(*,*) 'air_sea: You should not have seen this print! error?' 
    779800   END SUBROUTINE air_sea 
    780 #endif  
     801#endif  !! medusa 
    781802 
    782803   !!====================================================================== 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_med_diag_iomput.F90

    r8442 r10047  
    3131      !!------------------------------------------------------------------- 
    3232      USE bio_medusa_mod 
    33       USE dom_oce,           ONLY: e3t_0, e3t_n, mbathy, tmask 
     33      USE dom_oce,           ONLY: e3t_0, mbathy, tmask 
     34# if defined key_vvl 
     35      USE dom_oce,           ONLY: e3t_n 
     36# endif 
    3437      USE in_out_manager,    ONLY: lwp, numout 
    3538      USE par_oce,           ONLY: jpim1, jpjm1 
     
    718721CONTAINS 
    719722   SUBROUTINE bio_med_diag_iomput( )                    ! Empty routine 
     723      IMPLICIT NONE 
    720724      WRITE(*,*) 'bio_med_diag_iomput: You should not have seen this print! error?' 
    721725   END SUBROUTINE bio_med_diag_iomput 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag.F90

    r8442 r10047  
    3232      USE bio_med_diag_iomput_mod,  ONLY: bio_med_diag_iomput 
    3333      USE bio_medusa_mod 
    34       USE dom_oce,                  ONLY: e3t_0, e3t_n,                  & 
    35                                           gdepw_0, gdepw_n, tmask 
     34      USE dom_oce,                  ONLY: e3t_0, gdepw_0, tmask 
     35# if defined key_vvl 
     36      USE dom_oce,                  ONLY: e3t_n, gdepw_n 
     37# endif 
    3638      USE in_out_manager,           ONLY: lwp, numout 
    37 # if defined key_iomput 
    3839      USE iom,                      ONLY: lk_iomput 
    39 # endif 
    4040      USE par_oce,                  ONLY: jpim1, jpjm1 
    4141      USE sms_medusa,               ONLY: xrfn, xthetapd, xthetapn,      & 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_diag_slice.F90

    r10045 r10047  
    3636      USE dom_oce,           ONLY: tmask 
    3737      USE in_out_manager,    ONLY: lwp, numout 
    38 # if defined key_iomput 
    3938      USE iom,               ONLY: iom_put 
    40 # endif 
    4139      USE lbclnk,            ONLY: lbc_lnk 
    4240      USE oce,               ONLY: CO2Flux_out_cpl, DMS_out_cpl 
     
    245243      !!---------------------------------------------------------------------- 
    246244         IF( med_diag%PI_ATM_PCO2%dgsave ) THEN 
    247             CALL iom_put( "PI_ATM_PCO2"  , f_pi_pco2a2d ) 
    248             DEALLOCATE( f_pi_pco2a2d ) 
     245            CALL iom_put( "PI_ATM_PCO2"  , f_pi_pco2a_2d ) 
     246            DEALLOCATE( f_pi_pco2a_2d ) 
    249247         ENDIF 
    250248         IF( med_diag%PI_OCN_PH%dgsave ) THEN 
    251             CALL iom_put( "PI_OCN_PH"  , f_pi_ph2d ) 
    252             DEALLOCATE( f_pi_ph2d ) 
     249            CALL iom_put( "PI_OCN_PH"  , f_pi_ph_2d ) 
     250            DEALLOCATE( f_pi_ph_2d ) 
    253251         ENDIF 
    254252         IF( med_diag%PI_OCN_PCO2%dgsave ) THEN 
    255             CALL iom_put( "PI_OCN_PCO2"  , f_pi_pco2w2d ) 
    256             DEALLOCATE( f_pi_pco2w2d ) 
     253            CALL iom_put( "PI_OCN_PCO2"  , f_pi_pco2w_2d ) 
     254            DEALLOCATE( f_pi_pco2w_2d ) 
    257255         ENDIF 
    258256         IF( med_diag%PI_OCNH2CO3%dgsave ) THEN 
    259             CALL iom_put( "PI_OCNH2CO3"  , f_pi_h2co32d ) 
    260             DEALLOCATE( f_pi_h2co32d ) 
     257            CALL iom_put( "PI_OCNH2CO3"  , f_pi_h2co3_2d ) 
     258            DEALLOCATE( f_pi_h2co3_2d ) 
    261259         ENDIF 
    262260         IF( med_diag%PI_OCN_HCO3%dgsave ) THEN 
    263             CALL iom_put( "PI_OCN_HCO3"  , f_pi_hco32d ) 
    264             DEALLOCATE( f_pi_hco32d ) 
     261            CALL iom_put( "PI_OCN_HCO3"  , f_pi_hco3_2d ) 
     262            DEALLOCATE( f_pi_hco3_2d ) 
    265263         ENDIF 
    266264         IF( med_diag%PI_OCN_CO3%dgsave ) THEN 
    267             CALL iom_put( "PI_OCN_CO3"  , f_pi_co32d ) 
    268             DEALLOCATE( f_pi_co32d ) 
     265            CALL iom_put( "PI_OCN_CO3"  , f_pi_co3_2d ) 
     266            DEALLOCATE( f_pi_co3_2d ) 
    269267         ENDIF 
    270268         IF( med_diag%PI_CO2FLUX%dgsave ) THEN 
    271             CALL iom_put( "PI_CO2FLUX"  , f_pi_co2flux2d ) 
    272             DEALLOCATE( f_pi_co2flux2d ) 
     269            CALL iom_put( "PI_CO2FLUX"  , f_pi_co2flux_2d ) 
     270            DEALLOCATE( f_pi_co2flux_2d ) 
    273271         ENDIF 
    274272         IF( med_diag%PI_FGCO2%dgsave ) THEN 
     
    277275         ENDIF 
    278276         IF( med_diag%PI_OM_CAL%dgsave ) THEN 
    279             CALL iom_put( "PI_OM_CAL"  , f_pi_omcal ) 
    280             !! AXY: WHY IS THIS NOT DEALLOCATED? 
     277            CALL iom_put( "PI_OM_CAL"  , f_pi_omcal_2d ) 
     278       DEALLOCATE( f_pi_omcal_2d ) 
    281279         ENDIF 
    282280         IF( med_diag%PI_OM_ARG%dgsave ) THEN 
    283             CALL iom_put( "PI_OM_ARG"  , f_pi_omarg ) 
    284             !! AXY: WHY IS THIS NOT DEALLOCATED? 
     281            CALL iom_put( "PI_OM_ARG"  , f_pi_omarg_2d ) 
     282       DEALLOCATE( f_pi_omarg_2d ) 
    285283         ENDIF 
    286284         IF( med_diag%PI_TCO2%dgsave ) THEN 
    287             CALL iom_put( "PI_TCO2"  , f_pi_TDIC2d ) 
    288             DEALLOCATE( f_pi_TDIC2d ) 
     285            CALL iom_put( "PI_TCO2"  , f_pi_TDIC_2d ) 
     286            DEALLOCATE( f_pi_TDIC_2d ) 
    289287         ENDIF 
    290288         IF( med_diag%PI_ATM_XCO2%dgsave ) THEN 
    291             CALL iom_put( "PI_ATM_XCO2"  ,   f_pi_xco2a_2d      ) 
     289            CALL iom_put( "PI_ATM_XCO2"  ,   f_pi_xco2a_2d ) 
    292290            DEALLOCATE( f_pi_xco2a_2d ) 
    293291         ENDIF 
    294292         IF( med_diag%PI_OCN_FCO2%dgsave ) THEN 
    295             CALL iom_put( "PI_OCN_FCO2"  ,   f_pi_fco2w_2d      ) 
     293            CALL iom_put( "PI_OCN_FCO2"  ,   f_pi_fco2w_2d ) 
    296294            DEALLOCATE( f_pi_fco2w_2d ) 
    297295         ENDIF 
    298296         IF( med_diag%PI_ATM_FCO2%dgsave ) THEN 
    299             CALL iom_put( "PI_ATM_FCO2"  ,   f_pi_fco2a_2d      ) 
     297            CALL iom_put( "PI_ATM_FCO2"  ,   f_pi_fco2a_2d ) 
    300298            DEALLOCATE( f_pi_fco2a_2d ) 
    301299         ENDIF 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_fin.F90

    r9114 r10047  
    3333      !!---------------------------------------------------------------------- 
    3434      USE bio_medusa_mod 
    35       USE dom_oce,           ONLY: atfp, atfp1, neuler, rdt, e3t_n, tmask 
     35      USE dom_oce,           ONLY: atfp, atfp1, neuler, rdt, tmask 
    3636      USE in_out_manager,    ONLY: lwp, numout 
    37 # if defined key_iomput 
    38       USE iom,               ONLY: iom_put, lk_iomput 
    39 # endif 
     37      USE iom,               ONLY: iom_put 
    4038      USE lbclnk,            ONLY: lbc_lnk 
    4139      USE oce,               ONLY: chloro_out_cpl  
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_init.F90

    r10045 r10047  
    3838      USE sms_medusa,        ONLY: jdms 
    3939      USE trc,               ONLY: ln_diatrc, med_diag, nittrc000  
    40       USE in_out_manager,    ONLY: lwp 
    41  
    42 # if defined key_iomput 
    43       USE iom,               ONLY: lk_iomput, numout 
     40      USE in_out_manager,    ONLY: lwp, numout 
     41 
     42      USE iom,               ONLY: lk_iomput 
    4443      USE trcnam_medusa,     ONLY: trc_nam_iom_medusa 
    45 # endif 
    4644 
    4745      !! time (integer timestep) 
     
    179177      zdic(:,:)  = 0.0 
    180178      zsil(:,:)  = 0.0 
     179# if defined key_mocsy 
     180      ! zpho is only defined if key_mocsy 
     181      ! is active, so we must protect this 
     182      ! initialisation accordingly.  
    181183      zpho(:,:)  = 0.0 
     184# endif 
    182185      f_co2flux(:,:)  = 0.0  
    183186      f_pco2atm(:,:)  = 0.0 
     
    398401#  if defined key_omip_dic          
    399402         IF( med_diag%PI_ATM_PCO2%dgsave ) THEN 
    400             ALLOCATE( f_pi_pco2a2d(1:jpi, 1:jpj) ) 
    401             f_pi_pco2a2d(:,:)      = 0.0 !! 
     403            ALLOCATE( f_pi_pco2a_2d(1:jpi, 1:jpj) ) 
     404            f_pi_pco2a_2d(:,:)      = 0.0 !! 
    402405         ENDIF 
    403406#  endif 
     
    405408!! skip OCN_PH diagnostic here 
    406409!! 
     410#  if defined key_omip_dic          
     411         IF( med_diag%PI_OCN_PH%dgsave ) THEN 
     412            ALLOCATE( f_pi_ph_2d(1:jpi, 1:jpj) ) 
     413            f_pi_ph_2d(:,:)   = 0.0 !! 
     414         ENDIF 
     415#  endif 
    407416         IF( med_diag%OCN_PCO2%dgsave ) THEN 
    408417            ALLOCATE( f_pco2w2d(1:jpi, 1:jpj) ) 
     
    411420#  if defined key_omip_dic          
    412421         IF( med_diag%PI_OCN_PCO2%dgsave ) THEN 
    413             ALLOCATE( f_pi_pco2w2d(1:jpi, 1:jpj) ) 
    414             f_pi_pco2w2d(:,:)   = 0.0 !! 
     422            ALLOCATE( f_pi_pco2w_2d(1:jpi, 1:jpj) ) 
     423            f_pi_pco2w_2d(:,:)   = 0.0 !! 
    415424         ENDIF 
    416425#  endif 
     
    418427!! skip OCNH2CO3, OCN_HCO3, OCN_CO3 diagnostics here 
    419428!! 
     429#  if defined key_omip_dic          
     430         IF( med_diag%PI_OCNH2CO3%dgsave ) THEN 
     431            ALLOCATE( f_pi_h2co3_2d(1:jpi, 1:jpj) ) 
     432            f_pi_h2co3_2d(:,:)   = 0.0 !! 
     433         ENDIF 
     434         IF( med_diag%PI_OCN_HCO3%dgsave ) THEN 
     435            ALLOCATE( f_pi_hco3_2d(1:jpi, 1:jpj) ) 
     436            f_pi_hco3_2d(:,:)   = 0.0 !! 
     437         ENDIF 
     438         IF( med_diag%PI_OCN_CO3%dgsave ) THEN 
     439            ALLOCATE( f_pi_co3_2d(1:jpi, 1:jpj) ) 
     440            f_pi_co3_2d(:,:)   = 0.0 !! 
     441         ENDIF 
     442#  endif 
     443 
    420444         IF( med_diag%CO2FLUX%dgsave ) THEN 
    421445            ALLOCATE( f_co2flux2d(1:jpi, 1:jpj) ) 
     
    431455!! skip OM_XXX diagnostics here 
    432456!! 
     457#  if defined key_omip_dic          
     458         IF( med_diag%PI_OM_CAL%dgsave ) THEN 
     459            ALLOCATE( f_pi_omcal_2d(1:jpi, 1:jpj) ) 
     460            f_pi_omcal_2d(:,:)   = 0.0 !! 
     461         ENDIF 
     462         IF( med_diag%PI_OM_ARG%dgsave ) THEN 
     463            ALLOCATE( f_pi_omarg_2d(1:jpi, 1:jpj) ) 
     464            f_pi_omarg_2d(:,:)   = 0.0 !! 
     465         ENDIF 
     466#  endif 
    433467         IF( med_diag%TCO2%dgsave ) THEN 
    434468            ALLOCATE( f_TDIC2d(1:jpi, 1:jpj) ) 
     
    928962CONTAINS 
    929963   SUBROUTINE bio_medusa_init( )                   ! Empty routine 
     964      IMPLICIT NONE 
    930965      WRITE(*,*) 'bio_medusa_init: You should not have seen this print! error?' 
    931966   END SUBROUTINE bio_medusa_init 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_mod.F90

    r10045 r10047  
    256256   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_co2starair_2d 
    257257   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_ocndpco2_2d 
     258   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_pco2a_2d, f_pi_pco2w_2d, f_pi_co2flux_2d 
     259   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_TDIC_2d 
     260   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_ph_2d, f_pi_omcal_2d, f_pi_omarg_2d 
     261   REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: f_pi_h2co3_2d, f_pi_hco3_2d, f_pi_co3_2d 
    258262#  endif 
    259263# endif 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/bio_medusa_update.F90

    r10045 r10047  
    7575# endif 
    7676                                   zpds, zphd, zphn 
    77       USE dom_oce,           ONLY: e3t_0, e3t_n, gphit, mbathy, tmask 
     77      USE dom_oce,           ONLY: e3t_0, gphit, mbathy, tmask 
     78# if defined key_vvl 
     79      USE dom_oce,           ONLY: e3t_n 
     80# endif 
    7881      USE in_out_manager,    ONLY: lwp, numout 
    7982      USE lib_mpp,           ONLY: ctl_stop 
     
    8689                                   jpdic_lc, jpdin_lc, jpdtc_lc, jpfer_lc,   &  
    8790                                   jpoxy_lc, jppds_lc, jpphd_lc, jpphn_lc,   & 
    88                                    jpsil_lc, jpzme_lc, jpzmi_lc 
     91# if defined key_omip_dic 
     92                                   jpomd, jpomd_lc,                          & 
     93# endif 
     94                                   jpsil_lc, jpzme_lc, jpzmi_lc              
    8995      USE par_oce,           ONLY: jpi, jpim1, jpj, jpjm1, jpk 
    9096      USE par_trc,           ONLY: jptra 
     
    271277                             ! mort. loss 
    272278                         ((1.0 - xfdfrac1) * fdpds(ji,jj)) +                 & 
    273                              ! egestion of grazed Si 
     279                             ! egestion of grazed Si 
    274280                         ((1.0 - xfdfrac3) * fgmepds(ji,jj)) +               & 
    275281                             ! fast diss. and metab. losses 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/carb_chem.F90

    r10045 r10047  
    4141# endif 
    4242                                   zalk, zdic, zsal, zsil, ztmp  
    43       USE dom_oce,           ONLY: gdept_0, gdept_n, gdepw_0, gdepw_n,    & 
    44                                    gphit, mbathy, tmask 
     43      USE dom_oce,           ONLY: gdept_0, gdepw_0, gphit, mbathy, tmask 
     44# if defined key_vvl 
     45      USE dom_oce,           ONLY: gdept_n, gdepw_n 
     46# endif 
    4547      USE in_out_manager,    ONLY: lwp, numout 
    4648      USE oce,               ONLY: PCO2a_in_cpl, tsb, tsn 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus.F90

    r10045 r10047  
    4545                                        fun_T, fun_Q10, zdet, zdtc 
    4646      USE detritus_fast_sink_mod, ONLY: detritus_fast_sink 
    47       USE dom_oce,                ONLY: mbathy, e3t_0, e3t_n, gphit, tmask 
     47      USE dom_oce,                ONLY: mbathy, e3t_0, gphit, tmask 
     48# if defined key_vvl 
     49      USE dom_oce,                ONLY: e3t_n 
     50# endif 
    4851      USE in_out_manager,         ONLY: lwp, numout 
    4952      USE par_oce,                ONLY: jpim1, jpjm1 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/detritus_fast_sink.F90

    r10045 r10047  
    6666                                   idf, idfval,                            & 
    6767                                   zdet, zdtc 
    68       USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n,         & 
    69                                    gphit, mbathy, tmask 
     68      USE dom_oce,           ONLY: e3t_0, gdepw_0, gphit, mbathy, tmask 
     69# if defined key_vvl 
     70      USE dom_oce,           ONLY: e3t_n, gdepw_n 
     71# endif 
    7072      USE in_out_manager,    ONLY: lwp, numout 
    7173      USE oce,               ONLY: tsn 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/iron_chem_scav.F90

    r8441 r10047  
    3535                                   zdet, zfer, zphd, zphn, zzme, zzmi,    & 
    3636                                   idf, idfval                           
    37       USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n,        & 
    38                                    mbathy, tmask 
     37      USE dom_oce,           ONLY: e3t_0, gdepw_0, mbathy, tmask 
     38#if defined key_vvl 
     39      USE dom_oce,           ONLY: e3t_n, gdepw_n 
     40#endif 
    3941      USE par_kind,          ONLY: wp 
    4042      USE in_out_manager,    ONLY: lwp, numout 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/par_medusa.F90

    r10045 r10047  
    6868#  if defined key_omip_dic 
    6969   INTEGER, PUBLIC, PARAMETER ::   jpomd  =  jp_lm + 16     !: OMIP preindustrial DIC 
    70 #  end    
     70#  endif    
    7171# endif 
    7272 
     
    9090#  if defined key_omip_dic 
    9191   INTEGER, PUBLIC, PARAMETER ::   jpomd_lc  =  16     !: OMIP preindustrial DIC 
    92 #  end    
     92#  endif    
    9393# endif 
    9494 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/phytoplankton.F90

    r10045 r10047  
    4444                                   zfer, zpds, zphd, zphn, zsil,         & 
    4545                                   zzme, zzmi, fchl_ml 
    46       USE dom_oce,           ONLY: e3t_0, e3t_n, gdepw_0, gdepw_n, tmask 
     46      USE dom_oce,           ONLY: e3t_0, gdepw_0, tmask 
     47#if defined key_vvl 
     48      USE dom_oce,           ONLY: e3t_n, gdepw_n 
     49#endif 
    4750      USE in_out_manager,    ONLY: lwp, numout 
    4851      USE oce,               ONLY: tsn 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcbio_medusa.F90

    r10045 r10047  
    7575# endif 
    7676# if defined key_omip_dic 
    77                                             zomd,                           & 
     77                                            zomd,f_pi_xco2a,                & 
    7878# endif                                             
    7979# if defined key_mocsy 
     
    8383                                            zfer, zpds, zphd, zphn, zsil,   & 
    8484                                            zzme, zzmi 
    85       USE dom_oce,                    ONLY: e3t_0, e3t_n,                   & 
    86                                             gdept_0, gdept_n,               & 
    87                                             gdepw_0, gdepw_n,               & 
    88                                             nday_year, nsec_day,            & 
     85      USE dom_oce,                    ONLY: e3t_0, gdept_0,  gdepw_0,       & 
     86                                            nday_year, nsec_day,            &  
    8987                                            nyear, nyear_len, ndastp,       & 
    9088                                            nsec_month,                     & 
    9189                                            rdt, tmask, mig, mjg, nimpp,    & 
    9290                                            njmpp  
     91#if defined key_vvl 
     92      USE dom_oce,                    ONLY: e3t_n, gdept_n,  gdepw_n 
     93#endif 
     94 
    9395      USE in_out_manager,             ONLY: lwp, numout, nn_date0 
    94 # if defined key_iomput 
    9596      USE iom,                        ONLY: lk_iomput 
    96 # endif 
    9797      USE lbclnk,                     ONLY: lbc_lnk 
    9898      USE lib_mpp,                    ONLY: mpp_max, mpp_maxloc,            &  
     
    384384 
    385385#  if defined key_omip_dic 
    386          f_xco2a(:,:) = 284.317          !! CMIP6 pre-industrial pCO2 
     386         f_pi_xco2a(:,:) = 284.317          !! CMIP6 pre-industrial pCO2 
    387387#  endif 
    388388       
     
    708708                           ji, jj, jk, kt 
    709709                     endif 
    710 if defined key_omip_dic 
     710 if defined key_omip_dic 
    711711                     if (trn(ji,jj,jk,jpomd).lt.0.) then 
    712712                        IF (lwp) write (numout,*)                            & 
     
    717717                           ji, jj, jk, kt 
    718718                     endif 
     719#   endif 
    719720#  endif 
    720721                  endif 
     
    839840      !! temporary variables 
    840841      REAL(wp), INTENT( in ), DIMENSION(3,3) :: tiny_var, tiny_mask 
    841       CHARACTER(25), INTENT( in )            :: var_nm 
     842      CHARACTER(3), INTENT( in )            :: var_nm 
    842843      REAL(wp), INTENT( in )                 :: mini, maxi 
    843844      REAL(wp), INTENT( out )                :: varout 
     
    10431044CONTAINS 
    10441045   SUBROUTINE trc_bio_medusa( kt )                   ! Empty routine 
     1046      IMPLICIT NONE 
    10451047      INTEGER, INTENT( in ) ::   kt 
    10461048      WRITE(*,*) 'trc_bio_medusa: You should not have seen this print! error?', kt 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/MEDUSA/zooplankton.F90

    r10045 r10047  
    4141                                   idf, idfval,                          & 
    4242                                   zdet, zdtc, zphd, zphn, zzme, zzmi 
    43       USE dom_oce,           ONLY: e3t_0, e3t_n, tmask 
     43      USE dom_oce,           ONLY: e3t_0, tmask 
     44#if defined key_vvl 
     45      USE dom_oce,           ONLY: e3t_n 
     46#endif 
    4447      USE par_kind,          ONLY: wp 
    4548      USE in_out_manager,    ONLY: lwp, numout 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90

    r7771 r10047  
    5151      !! 
    5252      !!----------------------------------------------------------------------   
     53      IMPLICIT NONE 
    5354      INTEGER, INTENT( in ) ::   kt   ! ocean time-step  
    5455      CHARACTER (len=22) :: charout 
    5556      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::   ztrtrd 
     57      INTEGER :: jn                   ! Local loop index 
    5658      !!---------------------------------------------------------------------- 
    5759      ! 
     
    108110CONTAINS 
    109111   SUBROUTINE trc_bbl( kt )              ! Empty routine 
     112      IMPLICIT NONE 
     113      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    110114      WRITE(*,*) 'tra_bbl: You should not have seen this print! error?', kt 
    111115   END SUBROUTINE trc_bbl 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/trc.F90

    r9262 r10047  
    110110   END TYPE DIAG 
    111111 
    112 #if defined key_medusa && defined key_iomput 
     112#if defined key_medusa 
    113113   TYPE, PUBLIC :: BDIAG 
    114114      LOGICAL              :: dgsave 
     
    145145                  FGCO2, INTDISSIC, INTDISSIN, INTDISSISI, INTTALK, O2min, ZO2min,                   & 
    146146                  FBDDTALK, FBDDTDIC, FBDDTDIFE, FBDDTDIN, FBDDTDISI,                                &  
     147#  if defined key_omip_dic 
     148! JPALM (08/08/18): additional OMIP PI DIC 2D diag 
     149                  PI_ATM_PCO2, PI_OCN_PH, PI_OCN_PCO2, PI_OCNH2CO3, PI_OCN_HCO3, PI_OCN_CO3,         & 
     150        PI_CO2FLUX, PI_FGCO2, PI_OM_CAL, PI_OM_ARG, PI_TCO2,                               & 
     151                  PI_ATM_XCO2, PI_OCN_FCO2, PI_ATM_FCO2, PI_CO2STARAIR, PI_OCN_DPCO2,                & 
     152#  endif 
    147153! AXY (11/11/16): additional CMIP6 3D diagnostics 
    148154                  TPPD3,                                                                             & 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r9385 r10047  
    726726      !!---------------------------------------------------------------------- 
    727727      INTEGER  :: ji, jj, jk, jn 
    728       REAL(wp) :: zsum3d, zsum2d, zinvt, zdelta, zratio, loc_vol, loc_are 
    729       REAL(wp) :: zq1, zq2, loc_vol, loc_area 
     728      REAL(wp) :: zsum3d, zsum2d, zinvt, zdelta, zratio 
    730729      REAL(wp), DIMENSION(jpi,jpj,jpk) :: z3d, zvol 
    731730      REAL(wp), DIMENSION(jpi,jpj)     :: z2d, zarea 
  • branches/NERC/dev_r5518_GO6_under_ice_relax/NEMOGCM/NEMO/TOP_SRC/trcstat.F90

    r9163 r10047  
    2828   USE par_oce,           ONLY: jpi, jpj 
    2929   USE par_trc,           ONLY: jptra 
    30    USE dom_oce,           ONLY: e3t_0, e3t_a, e3t_n, gdepw_0, gdepw_n,     & 
    31                           tmask, e1e2t 
     30   USE dom_oce,           ONLY: e3t_0, gdepw_0, tmask, e1e2t 
     31#if defined key_vvl 
     32   USE dom_oce,           ONLY: e3t_a, e3t_n, gdepw_n 
     33#endif 
    3234   !* MPP library                          
    3335   USE lib_mpp 
Note: See TracChangeset for help on using the changeset viewer.