Changeset 7398 for branches/2015/dev_r5003_MERCATOR6_CRS
- Timestamp:
- 2016-11-30T15:44:11+01:00 (8 years ago)
- Location:
- branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crs.F90
r7312 r7398 74 74 75 75 INTEGER, DIMENSION(:), ALLOCATABLE :: mis_crs, mie_crs, mis2_crs, mie2_crs ! starting and ending i-indices of parent subset 76 INTEGER, DIMENSION(:), ALLOCATABLE :: mjs_crs, mje_crs, mjs2_crs, mje2_crs ! starting and ending j-indices of parent subset76 INTEGER, DIMENSION(:), ALLOCATABLE :: mjs_crs, mje_crs, mjs2_crs, mje2_crs ! starting and ending j-indices of parent subset 77 77 INTEGER, DIMENSION(:), ALLOCATABLE :: mjg_crs, mig_crs 78 78 INTEGER, DIMENSION(:), ALLOCATABLE :: mi0_crs, mi1_crs, mj0_crs, mj1_crs 79 INTEGER :: mxbinctr, mybinctr! central point in grid box80 INTEGER, DIMENSION(:), ALLOCATABLE :: nlcit_crs, nlcit_full !:dimensions of every subdomain81 INTEGER, DIMENSION(:), ALLOCATABLE :: nldit_crs, nldit_full !:first, last indoor index for each i-domain82 INTEGER, DIMENSION(:), ALLOCATABLE :: nleit_crs, nleit_full !:first, last indoor index for each j-domain83 INTEGER, DIMENSION(:), ALLOCATABLE :: nimppt_crs, nimppt_full !:first, last indoor index for each j-domain84 INTEGER, DIMENSION(:), ALLOCATABLE :: nlcjt_crs, nlcjt_full !:dimensions of every subdomain85 INTEGER, DIMENSION(:), ALLOCATABLE :: nldjt_crs, nldjt_full !:first, last indoor index for each i-domain86 INTEGER, DIMENSION(:), ALLOCATABLE :: nlejt_crs, nlejt_full !:first, last indoor index for each j-domain87 INTEGER, DIMENSION(:), ALLOCATABLE :: njmppt_crs, njmppt_full !:first, last indoor index for each j-domain79 INTEGER :: mxbinctr, mybinctr ! central point in grid box 80 INTEGER, DIMENSION(:), ALLOCATABLE :: nlcit_crs, nlcit_full ! dimensions of every subdomain 81 INTEGER, DIMENSION(:), ALLOCATABLE :: nldit_crs, nldit_full ! first, last indoor index for each i-domain 82 INTEGER, DIMENSION(:), ALLOCATABLE :: nleit_crs, nleit_full ! first, last indoor index for each j-domain 83 INTEGER, DIMENSION(:), ALLOCATABLE :: nimppt_crs, nimppt_full ! first, last indoor index for each j-domain 84 INTEGER, DIMENSION(:), ALLOCATABLE :: nlcjt_crs, nlcjt_full ! dimensions of every subdomain 85 INTEGER, DIMENSION(:), ALLOCATABLE :: nldjt_crs, nldjt_full ! first, last indoor index for each i-domain 86 INTEGER, DIMENSION(:), ALLOCATABLE :: nlejt_crs, nlejt_full ! first, last indoor index for each j-domain 87 INTEGER, DIMENSION(:), ALLOCATABLE :: njmppt_crs, njmppt_full ! first, last indoor index for each j-domain 88 88 89 89 INTEGER, DIMENSION(:,:), ALLOCATABLE :: nfiimpp_full … … 94 94 REAL(wp), DIMENSION(:,:) , ALLOCATABLE,SAVE :: tmask_i_crs, rnfmsk_crs, tpol_crs, fpol_crs 95 95 96 ! REAL(wp), DIMENSION(:,:), ALLOCATABLE :: tmask_i_crs, tpol, fpol97 98 96 ! Scale factors 99 97 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1t_crs, e2t_crs, e1e2t_crs ! horizontal scale factors grid type T 100 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1u_crs, e2u_crs ! horizontal scale factors grid type U101 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1v_crs, e2v_crs ! horizontal scale factors grid type V102 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1f_crs, e2f_crs ! horizontal scale factors grid type F103 104 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: ht_0_crs98 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1u_crs, e2u_crs ! horizontal scale factors grid type U 99 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1v_crs, e2v_crs ! horizontal scale factors grid type V 100 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: e1f_crs, e2f_crs ! horizontal scale factors grid type F 101 102 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: ht_0_crs 105 103 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e3t_0_crs, e3u_0_crs, e3v_0_crs, e3f_0_crs, e3w_0_crs 106 104 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e3t_max_0_crs, e3u_max_0_crs, e3v_max_0_crs, e3f_max_0_crs, e3w_max_0_crs … … 110 108 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e3t_n_crs, e3u_n_crs, e3v_n_crs, e3f_n_crs, e3w_n_crs 111 109 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e3t_a_crs, e3u_a_crs, e3v_a_crs, e3f_a_crs, e3w_a_crs 112 113 110 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e3t_max_n_crs, e3u_max_n_crs, e3v_max_n_crs, e3f_max_n_crs, e3w_max_n_crs 114 111 #endif 115 112 116 117 113 ! Surface 118 114 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e1e2w_crs, e2e3u_crs, e1e3v_crs 119 115 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: e1e2w_msk, e2e3u_msk, e1e3v_msk 120 ! vertical scale factors116 121 117 ! Coordinates 122 118 REAL(wp), DIMENSION(:,:), ALLOCATABLE,SAVE :: gphit_crs, glamt_crs, gphif_crs, glamf_crs … … 135 131 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: crs_surfu_wgt, crs_surfv_wgt, crs_surfw_wgt, crs_volt_wgt 136 132 137 ! CRSNamelist133 ! Namelist 138 134 INTEGER :: nn_factx = 3 !: reduction factor of x-dimension of the parent grid 139 135 INTEGER :: nn_facty = 3 !: reduction factor of y-dimension of the parent grid 140 !: 1 = binning centers at equator (north fold my have artifacts)141 !: for even reduction factors, equator placed in bin biased south142 136 INTEGER :: nn_msh_crs = 1 !: Organization of mesh mask output 143 137 !: 0 = no mesh mask output … … 147 141 INTEGER :: nn_crs_kz = 0 !: type of Kz coarsening ( =0->VOL ; =1->MAX ; =2->MIN) 148 142 LOGICAL :: ln_crs_wn = .FALSE. !: coarsening wn or computation using horizontal divergence 149 LOGICAL, PUBLIC :: ln_crs_top = .FALSE.!:coarsening online for the bio143 LOGICAL, PUBLIC :: ln_crs_top = .FALSE. !:coarsening online for the bio 150 144 ! 151 INTEGER :: nrestx, nresty !: for determining odd or even reduction factor152 153 145 154 146 ! Grid reduction factors … … 156 148 REAL(wp) :: rfacty_r !: inverse of y-dim reduction factor 157 149 REAL(wp) :: rfactxy 158 159 INTEGER, DIMENSION(:) 150 INTEGER :: nrestx, nresty !: for determining odd or even reduction factor 151 INTEGER, DIMENSION(:), ALLOCATABLE :: nfactx,nfacty 160 152 161 153 … … 175 167 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: fmmflx_crs 176 168 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: utau_crs, vtau_crs, taum_crs 177 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: rnf_crs,rnf_b_crs 169 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: rnf_crs,rnf_b_crs,h_rnf_crs 170 INTEGER , PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: nk_rnf_crs 178 171 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: trc_i_crs,trc_o_crs 179 172 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: sbc_trc_crs, sbc_trc_b_crs 180 173 181 REAL(wp), PUBLIC, DIMENSION(:,:,:) , ALLOCATABLE ::uslp_crs, wslpi_crs !: i_slope at U- and W-points182 REAL(wp), PUBLIC, DIMENSION(:,:,:) , ALLOCATABLE ::vslp_crs, wslpj_crs !: j-slope at V- and W-points174 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: uslp_crs, wslpi_crs !: i_slope at U- and W-points 175 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: vslp_crs, wslpj_crs !: j-slope at V- and W-points 183 176 184 177 ! Horizontal diffusion … … 315 308 & qsr_crs(jpi_crs ,jpj_crs), wndm_crs(jpi_crs,jpj_crs), utau_crs(jpi_crs,jpj_crs) , & 316 309 & vtau_crs(jpi_crs,jpj_crs), taum_crs(jpi_crs,jpj_crs), & 317 & rnf_crs (jpi_crs,jpj_crs), rnf_b_crs(jpi_crs ,jpj_crs), &310 & rnf_crs (jpi_crs,jpj_crs), rnf_b_crs(jpi_crs ,jpj_crs), nk_rnf_crs(jpi_crs ,jpj_crs), h_rnf_crs(jpi_crs ,jpj_crs), & 318 311 & emp_crs (jpi_crs,jpj_crs), emp_b_crs(jpi_crs,jpj_crs), & 319 312 & sbc_trc_crs (jpi_crs,jpj_crs,jpts), sbc_trc_b_crs(jpi_crs,jpj_crs,jpts), & -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsfld.F90
r7256 r7398 15 15 USE ldftra_oce ! ocean active tracers: lateral physics 16 16 USE sbc_oce ! Surface boundary condition: ocean fields 17 USE sbcrnf 17 18 USE zdf_oce ! vertical physics: ocean fields 18 19 USE zdfddm ! vertical physics: double diffusion … … 308 309 CALL crs_dom_ope( wndm , 'SUM', 'T', tmask, wndm_crs , p_e12=e1e2t, p_surf_crs=e1e2t_crs, psgn=1.0 ) 309 310 CALL crs_dom_ope( rnf , 'MAX', 'T', tmask, rnf_crs , psgn=1.0 ) 311 CALL crs_dom_ope( h_rnf, 'MAX', 'T', tmask, h_rnf_crs , psgn=1.0 ) 312 313 z2d=REAL(nk_rnf,wp) 314 CALL crs_dom_ope( z2d , 'MAX', 'T', tmask, z2d_crs , p_e12=e1e2t, p_surf_crs=e1e2t_crs, psgn=1.0 ) 315 nk_rnf_crs=INT(z2d_crs) 316 310 317 CALL crs_dom_ope( qsr , 'SUM', 'T', tmask, qsr_crs , p_e12=e1e2t, p_surf_crs=e1e2t_crs, psgn=1.0 ) 311 318 #if defined key_vvl -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90
r7320 r7398 237 237 WHERE(e3v_max_0_crs == 0._wp) e3v_max_0_crs=r_inf 238 238 WHERE(e3w_max_0_crs == 0._wp) e3w_max_0_crs=r_inf 239 DO jk = 1, jpk 240 DO ji = 1, jpi_crs 241 DO jj = 1, jpj_crs 242 IF( e3t_max_0_crs(ji,jj,jk) == 0._wp ) e3t_max_0_crs(ji,jj,jk) = e3t_1d(jk) 243 IF( e3w_max_0_crs(ji,jj,jk) == 0._wp ) e3w_max_0_crs(ji,jj,jk) = e3w_1d(jk) 244 IF( e3u_max_0_crs(ji,jj,jk) == 0._wp ) e3u_max_0_crs(ji,jj,jk) = e3t_1d(jk) 245 IF( e3v_max_0_crs(ji,jj,jk) == 0._wp ) e3v_max_0_crs(ji,jj,jk) = e3t_1d(jk) 246 ENDDO 247 ENDDO 248 ENDDO 239 249 240 250 #if defined key_vvl … … 290 300 CALL crs_dom_ope( gdept_0, 'MAX', 'T', tmask, gdept_0_crs, p_e3=zfse3t, psgn=1.0 ) 291 301 CALL crs_dom_ope( gdepw_0, 'MAX', 'W', tmask, gdepw_0_crs, p_e3=zfse3w, psgn=1.0 ) 302 303 DO jk = 1, jpk 304 DO ji = 1, jpi_crs 305 DO jj = 1, jpj_crs 306 IF( gdept_0_crs(ji,jj,jk) .LE. 0._wp ) gdept_0_crs(ji,jj,jk) = gdept_1d(jk) 307 IF( gdepw_0_crs(ji,jj,jk) .LE. 0._wp ) gdepw_0_crs(ji,jj,jk) = gdepw_1d(jk) 308 ENDDO 309 ENDDO 310 ENDDO 311 292 312 #if defined key_vvl 293 313 gdept_n_crs(:,:,:) = gdept_0_crs(:,:,:) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r7256 r7398 50 50 USE ioipsl, ONLY : ju2ymds ! for calendar 51 51 USE crs ! Grid coarsening 52 USE crslbclnk 52 53 53 54 IMPLICIT NONE … … 823 824 jstartrow = MAX(1,jstartrow) 824 825 ENDIF 825 istart(1:2) = (/ mig(1), mjg(1) + jstartrow - 1 /) ! icnt(1:2) done below 826 IF( lk_crs .AND. jpi == jpi_crs .AND. jpi .NE. 0 )THEN 827 istart(1:2) = (/ mig_crs(1), mjg_crs(1) + jstartrow - 1 /) ! icnt(1:2) done below 828 ELSE 829 istart(1:2) = (/ mig(1), mjg(1) + jstartrow - 1 /) ! icnt(1:2) done below 830 ENDIF 826 831 ELSEIF( idom == jpdom_global ) THEN ; istart(1:2) = (/ nimpp , njmpp /) ! icnt(1:2) done below 827 832 ENDIF … … 922 927 !--- overlap areas and extra hallows (mpp) 923 928 IF( PRESENT(pv_r2d) .AND. idom /= jpdom_unknown ) THEN 924 CALL lbc_lnk( pv_r2d,'Z',-999.,'no0' ) 929 IF( lk_crs .AND. jpi == jpi_crs .AND. jpi .NE. 0 )THEN 930 CALL crs_lbc_lnk( pv_r2d,'Z',-999.,'no0') 931 ELSE 932 CALL lbc_lnk( pv_r2d,'Z',-999.,'no0' ) 933 ENDIF 925 934 ELSEIF( PRESENT(pv_r3d) .AND. idom /= jpdom_unknown ) THEN 926 935 ! this if could be simplified with the new lbc_lnk that works with any size of the 3rd dimension 927 936 IF( icnt(3) == jpk ) THEN 928 CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 937 IF( lk_crs .AND. jpi == jpi_crs .AND. jpi .NE. 0 )THEN 938 CALL crs_lbc_lnk( pv_r3d,'Z',-999.,'no0') 939 ELSE 940 CALL lbc_lnk( pv_r3d,'Z',-999.,'no0' ) 941 ENDIF 929 942 ELSE ! put some arbitrary value (a call to lbc_lnk will be done later...) 930 943 DO jj = nlcj+1, jpj ; pv_r3d(1:nlci, jj, :) = pv_r3d(1:nlci, nlej, :) ; END DO -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl_crs.F90
r7207 r7398 78 78 79 79 ! w-level of the turbocline 80 imld(:,:)= 080 imld(:,:)=1 81 81 DO jk = jpkm1, nlb10, -1 ! from the bottom to nlb10 82 82 DO jj = 1, jpj_crs … … 101 101 END DO 102 102 ! 103 IF( lk_crs ) CALL iom_swap( "nemo_crs" ) 104 CALL iom_put( "mldkz5" , hmld_crs ) 105 IF( lk_crs ) CALL iom_swap( "nemo" ) 106 ! 103 107 CALL wrk_dealloc( jpi_crs,jpj_crs, imld ) 104 108 ! -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zbio.F90
r7256 r7398 15 15 !!---------------------------------------------------------------------- 16 16 USE oce_trc ! shared variables between ocean and passive tracers 17 USE trc ! passive tracers common variables18 17 USE sms_pisces ! PISCES Source Minus Sink variables 19 18 USE p4zsink ! vertical flux of particulate matter due to sinking … … 26 25 USE p4zrem ! Remineralisation of organic matter 27 26 USE p4zfechem 28 USE prtctl_trc ! print control for debugging 29 USE iom ! I/O manager 30 27 USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 28 31 29 IMPLICIT NONE 32 30 PRIVATE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zche.F90
r7256 r7398 19 19 !!---------------------------------------------------------------------- 20 20 USE oce_trc ! shared variables between ocean and passive tracers 21 USE trc ! passive tracers common variables22 21 USE sms_pisces ! PISCES Source Minus Sink variables 23 22 USE lib_mpp ! MPP library -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zfechem.F90
r5602 r7398 16 16 !!---------------------------------------------------------------------- 17 17 USE oce_trc ! shared variables between ocean and passive tracers 18 USE trc ! passive tracers common variables19 18 USE sms_pisces ! PISCES Source Minus Sink variables 20 19 USE p4zopt ! optical model 21 20 USE p4zche ! chemical model 22 21 USE p4zsbc ! Boundary conditions from sediments 23 USE prtctl_trc ! print control for debugging 24 USE iom ! I/O manager 22 USE prtctl_trc, ONLY : prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 25 23 26 24 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zflx.F90
r7256 r7398 20 20 !!---------------------------------------------------------------------- 21 21 USE oce_trc ! shared variables between ocean and passive tracers 22 USE trc ! passive tracers common variables23 22 USE sms_pisces ! PISCES Source Minus Sink variables 24 23 USE p4zche ! Chemical model 25 USE prtctl_trc ! print control for debugging 26 USE iom ! I/O manager 24 USE prtctl_trc , ONLY : prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 27 25 USE fldread ! read input fields 28 26 #if defined key_cpl_carbon_cycle … … 198 196 oce_co2(ji,jj) = ( zfld - zflu ) * rfact2 * e1e2t(ji,jj) * tmask(ji,jj,1) * 1000. 199 197 ! compute the trend 198 #if defined key_crs 199 tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) * rfact2 / e3t_max_crs(ji,jj,1) 200 #else 200 201 tra(ji,jj,1,jpdic) = tra(ji,jj,1,jpdic) + ( zfld - zflu ) * rfact2 / fse3t(ji,jj,1) * tmask(ji,jj,1) 202 #endif 201 203 202 204 ! Compute O2 flux … … 204 206 zflu16 = trb(ji,jj,1,jpoxy) * zkgo2(ji,jj) 205 207 zoflx(ji,jj) = ( zfld16 - zflu16 ) * tmask(ji,jj,1) 208 #if defined key_crs 209 tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + zoflx(ji,jj) * rfact2 / e3t_max_crs(ji,jj,1) 210 #else 206 211 tra(ji,jj,1,jpoxy) = tra(ji,jj,1,jpoxy) + zoflx(ji,jj) * rfact2 / fse3t(ji,jj,1) 212 #endif 207 213 END DO 208 214 END DO … … 212 218 ! t_atm_co2_flx = glob_sum( satmco2(:,:) * e1e2t(:,:) ) ! Total atmospheric pCO2 213 219 t_atm_co2_flx = atcco2 ! Total atmospheric pCO2 214 220 221 #if ! defined key_crs 215 222 IF(ln_ctl) THEN ! print mean trends (used for debugging) 216 223 WRITE(charout, FMT="('flx ')") … … 218 225 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 219 226 ENDIF 227 #endif 220 228 221 229 IF( lk_iomput .AND. knt == nrdttrc ) THEN -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zint.F90
r7256 r7398 14 14 !!---------------------------------------------------------------------- 15 15 USE oce_trc ! shared variables between ocean and passive tracers 16 USE trc ! passive tracers common variables17 16 USE sms_pisces ! PISCES Source Minus Sink variables 18 USE iom19 17 20 18 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlim.F90
r7256 r7398 16 16 !!---------------------------------------------------------------------- 17 17 USE oce_trc ! Shared ocean-passive tracers variables 18 USE trc ! Tracers defined19 18 USE sms_pisces ! PISCES variables 20 19 USE p4zopt ! Optical 21 USE iom ! I/O manager22 20 23 21 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zlys.F90
r7256 r7398 20 20 !!---------------------------------------------------------------------- 21 21 USE oce_trc ! shared variables between ocean and passive tracers 22 USE trc ! passive tracers common variables23 22 USE sms_pisces ! PISCES Source Minus Sink variables 24 USE prtctl_trc ! print control for debugging 25 USE iom ! I/O manager 23 USE prtctl_trc,ONLY : prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 26 24 27 25 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmeso.F90
r7256 r7398 16 16 !!---------------------------------------------------------------------- 17 17 USE oce_trc ! shared variables between ocean and passive tracers 18 USE trc ! passive tracers common variables19 18 USE sms_pisces ! PISCES Source Minus Sink variables 20 19 USE p4zsink ! vertical flux of particulate matter due to sinking 21 20 USE p4zint ! interpolation and computation of various fields 22 21 USE p4zprod ! production 23 USE prtctl_trc ! print control for debugging 24 USE iom ! I/O manager 22 USE prtctl_trc ,ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 25 23 26 24 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmicro.F90
r7256 r7398 16 16 !!---------------------------------------------------------------------- 17 17 USE oce_trc ! shared variables between ocean and passive tracers 18 USE trc ! passive tracers common variables19 18 USE sms_pisces ! PISCES Source Minus Sink variables 20 19 USE p4zlim ! Co-limitations … … 22 21 USE p4zint ! interpolation and computation of various fields 23 22 USE p4zprod ! production 24 USE iom ! I/O manager 25 USE prtctl_trc ! print control for debugging 23 USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 26 24 27 25 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zmort.F90
r7256 r7398 15 15 !!---------------------------------------------------------------------- 16 16 USE oce_trc ! shared variables between ocean and passive tracers 17 USE trc ! passive tracers common variables18 17 USE sms_pisces ! PISCES Source Minus Sink variables 19 18 USE p4zsink ! vertical flux of particulate matter due to sinking 20 19 USE p4zprod ! Primary productivity 21 USE prtctl_trc ! print control for debugging20 USE prtctl_trc,ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 22 21 23 22 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zopt.F90
r7256 r7398 15 15 !! p4z_opt : light availability in the water column 16 16 !!---------------------------------------------------------------------- 17 USE trc ! tracer variables18 17 USE oce_trc ! tracer-ocean share variables 19 18 USE sms_pisces ! Source Minus Sink of PISCES 20 USE iom ! I/O manager21 19 USE fldread ! time interpolation 22 USE prtctl_trc ! print control for debugging23 20 USE prtctl_trc,ONLY:prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 21 USE trc_oce, ONLY : trc_oce_rgb 24 22 25 23 IMPLICIT NONE … … 76 74 REAL(wp) :: zchl 77 75 REAL(wp) :: zc0 , zc1 , zc2, zc3, z1_dep 76 REAL(wp) :: zfse3 78 77 REAL(wp), POINTER, DIMENSION(:,: ) :: zdepmoy, zetmp1, zetmp2, zetmp3, zetmp4 79 78 REAL(wp), POINTER, DIMENSION(:,: ) :: zqsr100, zqsr_corr … … 108 107 ekg(ji,jj,jk) = xkrgb(2,irgb) * fse3t(ji,jj,jk) 109 108 ekr(ji,jj,jk) = xkrgb(3,irgb) * fse3t(ji,jj,jk) 109 !#if defined key_crs 110 ! zfse3 = e3t_max_crs(ji,jj,jk) 111 !#else 112 ! zfse3 = fse3t(ji,jj,jk) 113 !#endif 114 ! ekb(ji,jj,jk) = xkrgb(1,irgb) * zfse3 115 ! ekg(ji,jj,jk) = xkrgb(2,irgb) * zfse3 116 ! ekr(ji,jj,jk) = xkrgb(3,irgb) * zfse3 110 117 END DO 111 118 END DO … … 193 200 zetmp4 (ji,jj) = zetmp4 (ji,jj) + ediat (ji,jj,jk) * fse3t(ji,jj,jk) ! production 194 201 zdepmoy(ji,jj) = zdepmoy(ji,jj) + fse3t(ji,jj,jk) 202 !#if defined key_crs 203 ! zfse3 = e3t_max_crs(ji,jj,jk) 204 !#else 205 ! zfse3 = fse3t(ji,jj,jk) 206 !#endif 207 ! zetmp1 (ji,jj) = zetmp1 (ji,jj) + etot (ji,jj,jk) * zfse3 ! remineralisation 208 ! zetmp2 (ji,jj) = zetmp2 (ji,jj) + etot_ndcy(ji,jj,jk) * zfse3 ! production 209 ! zetmp3 (ji,jj) = zetmp3 (ji,jj) + enano (ji,jj,jk) * zfse3 ! production 210 ! zetmp4 (ji,jj) = zetmp4 (ji,jj) + ediat (ji,jj,jk) * zfse3 ! production 211 ! zdepmoy(ji,jj) = zdepmoy(ji,jj) + zfse3 195 212 ENDIF 196 213 END DO … … 254 271 !! * local variables 255 272 INTEGER :: ji, jj, jk ! dummy loop indices 256 REAL(wp), DIMENSION(jpi,jpj) :: zqsr ! shortwave 257 !!---------------------------------------------------------------------- 273 REAL(wp), POINTER, DIMENSION(:,:) :: zqsr ! shortwave 274 !!---------------------------------------------------------------------- 275 CALL wrk_alloc( jpi, jpj, zqsr ) 258 276 259 277 ! Real shortwave … … 306 324 ! 307 325 ENDIF 308 ! 326 ! 327 CALL wrk_dealloc( jpi, jpj, zqsr ) 328 ! 309 329 END SUBROUTINE p4z_opt_par 310 330 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zprod.F90
r7256 r7398 17 17 !!---------------------------------------------------------------------- 18 18 USE oce_trc ! shared variables between ocean and passive tracers 19 USE trc 19 USE trc, ONLY: cvol ! passive tracers common variables 20 20 USE sms_pisces ! PISCES Source Minus Sink variables 21 21 USE p4zopt ! optical model 22 22 USE p4zlim ! Co-limitations of differents nutrients 23 USE prtctl_trc ! print control for debugging 24 USE iom ! I/O manager 23 USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 25 24 26 25 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zrem.F90
r7256 r7398 18 18 !!---------------------------------------------------------------------- 19 19 USE oce_trc ! shared variables between ocean and passive tracers 20 USE trc ! passive tracers common variables21 20 USE sms_pisces ! PISCES Source Minus Sink variables 22 21 USE p4zopt ! optical model … … 26 25 USE p4zint ! interpolation and computation of various fields 27 26 USE p4zlim 28 USE prtctl_trc ! print control for debugging 29 USE iom ! I/O manager 27 USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 30 28 31 29 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsbc.F90
r7256 r7398 14 14 !!---------------------------------------------------------------------- 15 15 USE oce_trc ! shared variables between ocean and passive tracers 16 USE trc ! passive tracers common variables17 16 USE sms_pisces ! PISCES Source Minus Sink variables 18 USE iom ! I/O manager19 17 USE fldread ! time interpolation 20 18 … … 161 159 zcoef = rno3 * 14E6 * ryyss 162 160 CALL fld_read( kt, 1, sf_ndepo ) 161 #if defined key_crs 162 nitdep(:,:) = sf_ndepo(1)%fnow(:,:,1) / zcoef / e3t_max_crs(:,:,1) 163 #else 163 164 nitdep(:,:) = sf_ndepo(1)%fnow(:,:,1) / zcoef / fse3t(:,:,1) 165 #endif 164 166 ENDIF 165 167 IF( lk_vvl ) THEN 166 168 zcoef = rno3 * 14E6 * ryyss 169 #if defined key_crs 170 nitdep(:,:) = sf_ndepo(1)%fnow(:,:,1) / zcoef / e3t_max_crs(:,:,1) 171 #else 167 172 nitdep(:,:) = sf_ndepo(1)%fnow(:,:,1) / zcoef / fse3t(:,:,1) 173 #endif 168 174 ENDIF 169 175 ENDIF -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsed.F90
r7256 r7398 16 16 !!---------------------------------------------------------------------- 17 17 USE oce_trc ! shared variables between ocean and passive tracers 18 USE trc ! passive tracers common variables19 18 USE sms_pisces ! PISCES Source Minus Sink variables 20 19 USE p4zsink ! vertical flux of particulate matter due to sinking … … 23 22 USE p4zsbc ! External source of nutrients 24 23 USE p4zint ! interpolation and computation of various fields 25 USE iom ! I/O manager 26 USE prtctl_trc ! print control for debugging 24 USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 27 25 28 26 IMPLICIT NONE … … 105 103 DO jj = 1, jpj 106 104 DO ji = 1, jpi 105 #if defined key_crs 106 zdep = rfact2 / e3t_max_crs(ji,jj,1) 107 #else 107 108 zdep = rfact2 / fse3t(ji,jj,1) 109 #endif 108 110 zwflux = fmmflx(ji,jj) / 1000._wp 109 111 zfminus = MIN( 0._wp, -zwflux ) * trb(ji,jj,1,jpfer) * zdep … … 129 131 CALL wrk_alloc( jpi, jpj, jpk, zirondep ) 130 132 ! ! Iron and Si deposition at the surface 133 #if defined key_crs 134 IF( ln_solub ) THEN 135 zirondep(:,:,1) = solub(:,:) * dust(:,:) * mfrac * rfact2 / e3t_max_crs(:,:,1) / 55.85 + 3.e-10 * r1_ryyss 136 ELSE 137 zirondep(:,:,1) = dustsolub * dust(:,:) * mfrac * rfact2 / e3t_max_crs(:,:,1) / 55.85 + 3.e-10 * r1_ryyss 138 ENDIF 139 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / e3t_max_crs(:,:,1) / 28.1 140 zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / e3t_max_crs(:,:,1) / 31. / po4r 141 #else 131 142 IF( ln_solub ) THEN 132 143 zirondep(:,:,1) = solub(:,:) * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 55.85 + 3.e-10 * r1_ryyss … … 136 147 zsidep(:,:) = 8.8 * 0.075 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 28.1 137 148 zpdep (:,:) = 0.1 * 0.021 * dust(:,:) * mfrac * rfact2 / fse3t(:,:,1) / 31. / po4r 149 #endif 138 150 ! ! Iron solubilization of particles in the water column 139 151 ! ! dust in kg/m2/s ---> 1/55.85 to put in mol/Fe ; wdust in m/j … … 211 223 DO ji = 1, jpi 212 224 ikt = mbkt(ji,jj) 225 !#if defined key_crs 226 ! zdep = e3t_max_crs(ji,jj,ikt) / xstep 227 !#else 228 ! zdep = fse3t(ji,jj,ikt) / xstep 229 !#endif 213 230 zdep = fse3t(ji,jj,ikt) / xstep 214 231 zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) ) … … 284 301 DO ji = 1, jpi 285 302 ikt = mbkt(ji,jj) 286 zdep = xstep / fse3t(ji,jj,ikt) 303 #if defined key_crs 304 zdep = xstep / e3t_max_crs(ji,jj,ikt) 305 #else 306 zdep = xstep / fse3t(ji,jj,ikt) 307 #endif 287 308 zws4 = zwsbio4(ji,jj) * zdep 288 309 zwsc = zwscal (ji,jj) * zdep … … 312 333 DO ji = 1, jpi 313 334 ikt = mbkt(ji,jj) 314 zdep = xstep / fse3t(ji,jj,ikt) 335 #if defined key_crs 336 zdep = xstep / e3t_max_crs(ji,jj,ikt) 337 #else 338 zdep = xstep / fse3t(ji,jj,ikt) 339 #endif 315 340 zws4 = zwsbio4(ji,jj) * zdep 316 341 zws3 = zwsbio3(ji,jj) * zdep -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsink.F90
r7256 r7398 16 16 !!---------------------------------------------------------------------- 17 17 USE oce_trc ! shared variables between ocean and passive tracers 18 USE trc ! passive tracers common variables19 18 USE sms_pisces ! PISCES Source Minus Sink variables 20 USE prtctl_trc ! print control for debugging 21 USE iom ! I/O manager 22 USE lib_mpp 19 USE prtctl_trc, ONLY: prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 20 USE lib_mpp, ONLY: mpp_max 23 21 24 22 IMPLICIT NONE … … 137 135 DO ji = 1, jpi 138 136 IF( tmask(ji,jj,jk) == 1) THEN 137 !#if defined key_crs 138 ! zwsmax = 0.5 * e3t_max_crs(ji,jj,jk) / xstep 139 !#else 140 ! zwsmax = 0.5 * fse3t(ji,jj,jk) / xstep 141 !#endif 139 142 zwsmax = 0.5 * fse3t(ji,jj,jk) / xstep 140 143 iiter1 = MAX( iiter1, INT( wsbio3(ji,jj,jk) / zwsmax ) ) … … 156 159 DO ji = 1, jpi 157 160 IF( tmask(ji,jj,jk) == 1 ) THEN 161 !#if defined key_crs 162 ! zwsmax = 0.5 * e3t_max_crs(ji,jj,jk) / xstep 163 !#else 164 ! zwsmax = 0.5 * fse3t(ji,jj,jk) / xstep 165 !#endif 158 166 zwsmax = 0.5 * fse3t(ji,jj,jk) / xstep 159 167 wsbio3(ji,jj,jk) = MIN( wsbio3(ji,jj,jk), zwsmax * FLOAT( iiter1 ) ) … … 844 852 DO jj = 1, jpj 845 853 DO ji = 1, jpi 854 #if defined key_crs 855 zigma = zwsink2(ji,jj,jk+1) * zstep / e3w_max_crs(ji,jj,jk+1) 856 #else 846 857 zigma = zwsink2(ji,jj,jk+1) * zstep / fse3w(ji,jj,jk+1) 858 #endif 847 859 zew = zwsink2(ji,jj,jk+1) 848 860 psinkflx(ji,jj,jk+1) = -zew * ( trb(ji,jj,jk,jp_tra) - 0.5 * ( 1 + zigma ) * zakz(ji,jj,jk) ) * zstep -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zsms.F90
r7256 r7398 14 14 !!---------------------------------------------------------------------- 15 15 USE oce_trc ! shared variables between ocean and passive tracers 16 USE trc ! passive tracers common variables17 16 USE trcdta 18 17 USE sms_pisces ! PISCES Source Minus Sink variables … … 25 24 USE p4zint ! time interpolation 26 25 USE p4zrem ! remineralisation 27 USE iom ! I/O manager28 26 USE trd_oce ! Ocean trends variables 29 27 USE trdtrc ! TOP trends variables 30 28 USE sedmodel ! Sediment model 31 USE prtctl_trc 29 USE prtctl_trc, ONLY:prt_ctl_trc_info,prt_ctl_trc ! print control for debugging 32 30 33 31 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90
r7256 r7398 17 17 USE par_pisces ! PISCES parameters 18 18 USE oce_trc ! Shared variables between ocean and passive tracers 19 USE trc ! Passive tracers common variables20 19 USE phycst ! Ocean physics parameters 21 20 USE sms_pisces ! PISCES Source Minus Sink variables -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/PISCES/trcwri_pisces.F90
r4996 r7398 12 12 !! trc_wri_pisces : outputs of concentration fields 13 13 !!---------------------------------------------------------------------- 14 USE trc ! passive tracers common variables15 14 USE sms_pisces ! PISCES variables 16 USE iom ! I/O manager 15 USE trc, ONLY: ctrcnm,trn ! passive tracers common variables 16 USE sms_pisces ! PISCES variables 17 USE iom, ONLY : iom_swap, iom_put,iom_use ! I/O manager 18 USE crs, ONLY : ln_crs_top 19 USE oce_trc 17 20 18 21 IMPLICIT NONE … … 35 38 REAL(wp), DIMENSION(jpi,jpj) :: zdic, zo2min, zdepo2min 36 39 !!--------------------------------------------------------------------- 40 IF( ln_crs_top ) CALL iom_swap( "nemo_crs" ) 37 41 38 42 ! write the tracer concentrations in the file … … 82 86 #endif 83 87 ! 88 IF( ln_crs_top ) CALL iom_swap( "nemo" ) 89 ! 84 90 END SUBROUTINE trc_wri_pisces 85 91 -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90
r4990 r7398 14 14 !!---------------------------------------------------------------------- 15 15 USE oce_trc ! ocean dynamics and tracers variables 16 USE trc 16 USE trc, ONLY: cvol ! ocean passive tracers variables 17 17 USE trd_oce 18 18 USE trdtra -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90
r7332 r7398 8 8 !!---------------------------------------------------------------------- 9 9 #if defined key_top 10 USE dom_oce , ONLY : ndastp 11 USE dom_oce , ONLY : nyear_len,nday,nyear,nday_year 12 USE dom_oce , ONLY : gdepw_1d 13 USE dom_oce , ONLY : rdttra 14 USE dom_oce , ONLY : Agrif_Root => Agrif_Root 15 USE sbc_oce , ONLY : nn_ice_embd 16 USE sbc_oce , ONLY : ln_cpl 17 USE sbc_oce , ONLY : ln_rnf 18 USE sbc_oce , ONLY : ncpl_qsr_freq 19 20 USE traqsr , ONLY : ln_qsr_bio => ln_qsr_bio 21 USE traqsr , ONLY : rn_si0 => rn_si0 !: very near surface depth of extinction 22 USE traqsr , ONLY : rn_abs => rn_abs !: fraction absorbed in the very near surface 23 24 USE iom , ONLY : iom_open , iom_get , iom_varid , iom_rstput , iom_close , iom_use, iom_gettime, iom_put 25 USE iom , ONLY : lk_iomput ,jpdom_data,jpdom_autoglo 26 27 USE par_trc , ONLY : jptra 28 USE par_cfc , ONLY : lk_cfc , jp_cfc0 , jp_cfc1 29 USE par_c14b , ONLY : lk_c14b , jp_c14b0, jp_c14b1 30 USE par_pisces , ONLY : lk_pisces, jp_pcs0 , jp_pcs1 31 USE par_my_trc , ONLY : lk_my_trc, jp_myt0 , jp_myt1 32 33 USE trc_oce , ONLY : lk_degrad, lk_offline, facvol, r_si2, trc_oce_ext_lev 34 USE trc_oce , ONLY : nn_dttrc 35 USE trc_oce , ONLY : etot3 36 USE trc , ONLY : nittrc000 37 USE trc , ONLY : trb,trn,tra 38 USE trc , ONLY : trc2d,trc3d 39 USE trc , ONLY : ctrcnm 40 USE trc , ONLY : numrtr ,numrtw 41 USE trc , ONLY : ln_diatrc,ln_rsttr,ln_top_euler,lrst_trc,ln_trcdmp,ln_trcdmp_clo 42 USE trc , ONLY : gtru, gtrv,gtrui,gtrvi 43 USE trc , ONLY : rdttrc 44 USE trc , ONLY : areatot 45 USE trc , ONLY : cvol 46 USE trc , ONLY : l_trcdm2dc 47 USE trc , ONLY : nn_ice_tr 48 USE trc , ONLY : cn_trc_o 49 USE trc , ONLY : trc_ice_ratio 50 USE trc , ONLY : nn_ice_tr 51 USE trc , ONLY : trc_ice_prescr 52 USE trc , ONLY : qsr_mean ! in case of coarsening no no need to coarsene it because qsr_mean is already in crs space 10 53 11 54 #if defined key_crs … … 123 166 USE crs , ONLY : gdept_crs => gdept_n_crs !: depth of t-points (m) 124 167 USE crs , ONLY : gdept_n => gdept_n_crs !: depth of t-points (m) 168 USE crs , ONLY : gdepw_n => gdepw_n_crs !: depth of t-points (m) 125 169 USE crs , ONLY : e3t_max_crs => e3t_max_n_crs 126 170 USE crs , ONLY : e3u_max_crs => e3u_max_n_crs … … 149 193 USE crs , ONLY : gdepw_crs => gdepw_0_crs !: depth of t-points (m) 150 194 USE crs , ONLY : gdept_n => gdept_0_crs !: depth of t-points (m) 195 USE crs , ONLY : gdepw_n => gdepw_0_crs !: depth of t-points (m) 151 196 USE crs , ONLY : e3t_max_crs => e3t_max_0_crs 152 197 USE crs , ONLY : e3u_max_crs => e3u_max_0_crs … … 203 248 USE crs , ONLY : fmmflx => fmmflx_crs !: freshwater budget: volume flux [Kg/m2/s] 204 249 USE crs , ONLY : rnf => rnf_crs !: river runoff [Kg/m2/s] 250 USE crs , ONLY : h_rnf => h_rnf_crs !: river runoff [Kg/m2/s] 251 USE crs , ONLY : nk_rnf => nk_rnf_crs !: depth of runoff in model level 205 252 USE crs , ONLY : fr_i => fr_i_crs !: ice fraction (between 0 to 1) 206 253 USE trcnam_trp , ONLY : aht0 => rn_ahtrc_0 !: horizontal eddy diffusivity for tracers (m2/s) … … 218 265 #endif 219 266 220 USE trc_oce, ONLY : lk_offline221 267 USE trc_oce, ONLY : nn_dttrc 222 268 … … 302 348 USE dom_oce , ONLY : e1v => e1v !: horizontal scale factors at v-point (m) 303 349 USE dom_oce , ONLY : e2v => e2v !: horizontal scale factors at v-point (m) 304 USE dom_oce , ONLY : e3t => e3t_0 !: vertical scale factors at t-305 USE dom_oce , ONLY : e3t_0 => e3t_0 !: vertical scale factors at t-306 350 #if defined key_vvl 307 351 USE dom_oce , ONLY : e3t_b => e3t_b … … 311 355 USE dom_oce , ONLY : e3v_n => e3v_n 312 356 USE dom_oce , ONLY : e3u => e3u_n !: vertical scale factors at u- 313 USE dom_oce , ONLY : e3u_0 => e3u_0 !: vertical scale factors at u-314 357 USE dom_oce , ONLY : e3v => e3v_n !: vertical scale factors v- 315 USE dom_oce , ONLY : e3v_0 => e3v_0 !: vertical scale factors v-316 358 USE dom_oce , ONLY : e3w_n => e3w_n !: w-points (m) 317 359 USE dom_oce , ONLY : e3w => e3w_n !: w-points (m) 318 USE dom_oce , ONLY : e3w_0 => e3w_0 !: w-points (m)319 360 USE dom_oce , ONLY : e3f => e3f_n !: f-points (m) 320 361 USE dom_oce , ONLY : gdept_n => gdept_n !: f-points (m) 362 USE dom_oce , ONLY : gdepw_n => gdepw_n !: f-points (m) 321 363 #else 322 364 USE dom_oce , ONLY : fse3t_n => e3t_0 … … 328 370 USE dom_oce , ONLY : fse3t_a => e3t_0 329 371 USE dom_oce , ONLY : e3t_a => e3t_0 372 USE dom_oce , ONLY : e3t => e3t_0 !: vertical scale factors at t- 330 373 USE dom_oce , ONLY : e3u => e3u_0 !: vertical scale factors at u- 331 USE dom_oce , ONLY : e3u_0 => e3u_0 !: vertical scale factors at u-332 374 USE dom_oce , ONLY : e3v => e3v_0 !: vertical scale factors v- 333 USE dom_oce , ONLY : e3v_0 => e3v_0 !: vertical scale factors v-334 375 USE dom_oce , ONLY : e3w => e3w_0 !: w-points (m) 335 USE dom_oce , ONLY : e3w_0 => e3w_0 !: w-points (m)336 376 USE dom_oce , ONLY : e3f => e3f_0 !: f-points (m) 337 377 USE dom_oce , ONLY : gdept_n => gdept_0 !: f-points (m) 338 USE dom_oce , ONLY : fsdept_n => gdept_0 !: f-points (m)378 USE dom_oce , ONLY : gdepw_n => gdepw_0 !: f-points (m) 339 379 #endif 340 380 USE dom_oce , ONLY : ff => ff !: f-points (m) 381 USE dom_oce , ONLY : e3t_0 => e3t_0 !: vertical scale factors at t- 382 USE dom_oce , ONLY : e3u_0 => e3u_0 !: vertical scale factors at u- 383 USE dom_oce , ONLY : e3v_0 => e3v_0 !: vertical scale factors v- 384 USE dom_oce , ONLY : e3w_0 => e3w_0 !: w-points (m) 341 385 USE dom_oce , ONLY : gdept_0 => gdept_0 !: f-points (m) 342 386 USE dom_oce , ONLY : gdept_1d => gdept_1d !: f-points (m) … … 414 458 USE sbc_oce , ONLY : ln_dm2dc => ln_dm2dc !: Diurnal Cycle 415 459 USE sbc_oce , ONLY : fr_i => fr_i !: ice fraction (between 0 to 1) 416 USE traqsr , ONLY : rn_abs => rn_abs !: fraction absorbed in the very near surface417 USE traqsr , ONLY : rn_si0 => rn_si0 !: very near surface depth of extinction418 USE traqsr , ONLY : ln_qsr_bio => ln_qsr_bio !: flag to use or not the biological fluxes for light419 460 USE sbcrnf , ONLY : rnfmsk => rnfmsk !: mixed adv scheme in runoffs vicinity (hori.) 420 461 USE sbcrnf , ONLY : rnfmsk_z => rnfmsk_z !: mixed adv scheme in runoffs vicinity (vert.) … … 423 464 USE trc , ONLY : trc_i => trc_i 424 465 USE trc , ONLY : trc_o => trc_o 425 426 USE trc_oce427 466 428 467 !* lateral diffusivity (tracers) * -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r7332 r7398 252 252 IF( PRESENT(ptrc) ) ptrc(:,:,:) = ztrcdta(:,:,:) 253 253 ! 254 #if ! defined key_crs 254 255 IF( lwp .AND. kt == nit000 ) THEN 255 256 clndta = TRIM( sf_dta(1)%clvar ) … … 264 265 WRITE(numout,*) 265 266 ENDIF 267 #endif 266 268 ! 267 269 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta ) -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r7256 r7398 17 17 !!---------------------------------------------------------------------- 18 18 USE oce_trc ! shared variables between ocean and passive tracers 19 USE trc ! passive tracers common variables20 USE trcrst ! passive tracers restart19 USE trc ,ONLY: ln_rsttr 20 USE trcrst,ONLY: trc_rst_read,trc_rst_cal ! passive tracers restart 21 21 USE trcnam ! Namelist read 22 22 USE trcini_cfc ! CFC initialisation -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
r7332 r7398 11 11 !!---------------------------------------------------------------------- 12 12 USE oce_trc ! ocean dynamics and active tracers variables 13 USE trc 13 USE trc, ONLY: cvol,numont,numstr 14 14 USE trctrp ! passive tracers transport 15 15 USE trcsms ! passive tracers sources and sinks … … 22 22 USE iom, ONLY : lk_iomput , iom_close, iom_varid, jpdom_autoglo, iom_get, iom_rstput 23 23 USE in_out_manager 24 USE trcsub 24 USE trcsub, ONLY: trc_sub_stp,trc_sub_reset 25 25 USE dom_oce, ONLY : nday, nmonth, nyear, nsec1jan000, nsec_year 26 !USE sbc_oce27 26 28 27 IMPLICIT NONE -
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/trcsub.F90
r7332 r7398 16 16 USE iom_def, ONLY : jprstlib 17 17 USE lbclnk 18 !cbr USE trabbl19 !cbr USE zdf_oce20 !cbr USE domvvl21 18 USE divcur, ONLY : div_cur ! hor. divergence and curl (div & cur routines) 22 USE sbcrnf, ONLY: h_rnf, nk_rnf ! River runoff23 19 USE bdy_oce 24 20 #if defined key_agrif
Note: See TracChangeset
for help on using the changeset viewer.