- Timestamp:
- 2020-12-02T14:55:21+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3
- Property svn:externals
-
old new 8 8 9 9 # SETTE 10 ^/utils/CI/sette@13 292sette10 ^/utils/CI/sette@13559 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/EXPREF/namelist_cfg
r12905 r13998 261 261 !! !! 262 262 !! namdrg top/bottom drag coefficient (default: NO selection) 263 !! namdrg_top top friction (ln_ OFF=F & ln_isfcav=T)264 !! namdrg_bot bottom friction (ln_ OFF=F)263 !! namdrg_top top friction (ln_drg_OFF=F & ln_isfcav=T) 264 !! namdrg_bot bottom friction (ln_drg_OFF=F) 265 265 !! nambbc bottom temperature boundary condition (default: OFF) 266 266 !! nambbl bottom boundary layer scheme (default: OFF) … … 273 273 / 274 274 !----------------------------------------------------------------------- 275 &namdrg_top ! TOP friction (ln_ OFF =F & ln_isfcav=T)275 &namdrg_top ! TOP friction (ln_drg_OFF =F & ln_isfcav=T) 276 276 !----------------------------------------------------------------------- 277 277 rn_Cd0 = 2.5e-3 ! drag coefficient [-] … … 279 279 / 280 280 !----------------------------------------------------------------------- 281 &namdrg_bot ! BOTTOM friction (ln_ OFF =F)281 &namdrg_bot ! BOTTOM friction (ln_drg_OFF =F) 282 282 !----------------------------------------------------------------------- 283 283 rn_Cd0 = 2.5e-3 ! drag coefficient [-] … … 311 311 ! 312 312 ! ! S-EOS coefficients (ln_seos=T): 313 ! ! rd(T,S,Z)*r au0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS313 ! ! rd(T,S,Z)*rho0 = -a0*(1+.5*lambda*dT+mu*Z+nu*dS)*dT+b0*dS 314 314 ! ! L-EOS coefficients (ln_seos=T): 315 ! ! rd(T,S,Z)*r au0 = rau0*(-a0*dT+b0*dS)315 ! ! rd(T,S,Z)*rho0 = rho0*(-a0*dT+b0*dS) 316 316 rn_a0 = 3.7330e-5 ! thermal expension coefficient 317 317 rn_b0 = 7.8430e-4 ! saline expension coefficient … … 461 461 !! !! 462 462 !! namtrd dynamics and/or tracer trends (default: OFF) 463 !! namptr Poleward Transport Diagnostics (default: OFF)464 463 !! namhsb Heat and salt budgets (default: OFF) 465 464 !! namdiu Cool skin and warm layer models (default: OFF) … … 478 477 / 479 478 !----------------------------------------------------------------------- 480 &namptr ! Poleward Transport Diagnostic (default: OFF)481 !-----------------------------------------------------------------------482 /483 !-----------------------------------------------------------------------484 479 &namhsb ! Heat and salt budgets (default: OFF) 485 480 !----------------------------------------------------------------------- -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/dtatsd.F90
r13295 r13998 191 191 ENDIF 192 192 ! 193 DO_2D( 1, 1, 1, 1 ) 193 DO_2D( 1, 1, 1, 1 ) ! vertical interpolation of T & S 194 194 DO jk = 1, jpk ! determines the intepolated T-S profiles at each (i,j) points 195 195 zl = gdept_0(ji,jj,jk) -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/eosbn2.F90
r13295 r13998 182 182 !! * Substitutions 183 183 # include "do_loop_substitute.h90" 184 # include "domzgr_substitute.h90" 184 185 !!---------------------------------------------------------------------- 185 186 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 965 966 IF( ln_timing ) CALL timing_start('bn2') 966 967 ! 967 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) 968 DO_3D( 1, 1, 1, 1, 2, jpkm1 ) ! interior points only (2=< jk =< jpkm1 ); surface and bottom value set to zero one for all in istate.F90 968 969 zrw = ( gdepw(ji,jj,jk ,Kmm) - gdept(ji,jj,jk,Kmm) ) & 969 970 & / ( gdept(ji,jj,jk-1,Kmm) - gdept(ji,jj,jk,Kmm) ) … … 1723 1724 ! 1724 1725 CASE( np_leos ) !== Linear ISOMIP EOS ==! 1726 1727 r1_S0 = 0.875_wp/35.16504_wp ! Used to convert CT in potential temperature when using bulk formulae (eos_pt_from_ct) 1728 1725 1729 IF(lwp) THEN 1726 1730 WRITE(numout,*) … … 1731 1735 WRITE(numout,*) ' saline cont. coef. rn_b0 = ', rn_b0 1732 1736 ENDIF 1737 l_useCT = .TRUE. ! Use conservative temperature 1733 1738 ! 1734 1739 CASE DEFAULT !== ERROR in neos ==! -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/isf_oce.F90
r12077 r13998 75 75 ! 76 76 ! 2.1 -------- ice shelf cavity parameter -------------- 77 LOGICAL , PUBLIC :: l_isfoasis 77 LOGICAL , PUBLIC :: l_isfoasis = .FALSE. 78 78 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: risfload !: ice shelf load 79 79 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: fwfisf_oasis -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/isfcavgam.F90
r12905 r13998 30 30 PUBLIC isfcav_gammats 31 31 32 # include "domzgr_substitute.h90" 32 33 !!---------------------------------------------------------------------- 33 34 !! NEMO/OCE 4.0 , NEMO Consortium (2018) -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/isfstp.F90
r12905 r13998 13 13 !! isfstp : compute iceshelf melt and heat flux 14 14 !!---------------------------------------------------------------------- 15 !16 15 USE isf_oce ! isf variables 17 16 USE isfload, ONLY: isf_load ! ice shelf load … … 21 20 USE isfcpl , ONLY: isfcpl_rst_write, isfcpl_init ! isf variables 22 21 23 USE dom_oce, ONLY: ht, e3t, ln_isfcav, ln_linssh ! ocean space and time domain 22 USE dom_oce ! ocean space and time domain 23 USE oce , ONLY: ssh ! sea surface height 24 24 USE domvvl, ONLY: ln_vvl_zstar ! zstar logical 25 25 USE zdfdrg, ONLY: r_Cdmin_top, r_ke0_top ! vertical physics: top/bottom drag coef. … … 31 31 32 32 IMPLICIT NONE 33 34 33 PRIVATE 35 34 36 35 PUBLIC isf_stp, isf_init, isf_nam ! routine called in sbcmod and divhor 37 36 37 !! * Substitutions 38 # include "domzgr_substitute.h90" 38 39 !!---------------------------------------------------------------------- 39 40 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 41 42 !! Software governed by the CeCILL license (see ./LICENSE) 42 43 !!---------------------------------------------------------------------- 44 43 45 CONTAINS 44 46 … … 60 62 INTEGER, INTENT(in) :: kt ! ocean time step 61 63 INTEGER, INTENT(in) :: Kmm ! ocean time level index 64 !!---------------------------------------------------------------------- 65 INTEGER :: jk ! loop index 66 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze3t ! e3t 62 67 !!--------------------------------------------------------------------- 63 68 ! … … 78 83 ! 1.2: compute misfkb, rhisf_tbl, rfrac (deepest level, thickness, fraction of deepest cell affected by tbl) 79 84 rhisf_tbl_cav(:,:) = rn_htbl * mskisf_cav(:,:) 80 CALL isf_tbl_lvl(ht, e3t(:,:,:,Kmm), misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav) 85 DO jk = 1, jpk 86 ze3t(:,:,jk) = e3t(:,:,jk,Kmm) 87 END DO 88 CALL isf_tbl_lvl(ht(:,:), ze3t, misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav) 81 89 ! 82 90 ! 1.3: compute ice shelf melt … … 100 108 ! by simplicity, we assume the top level where param applied do not change with time (done in init part) 101 109 rhisf_tbl_par(:,:) = rhisf0_tbl_par(:,:) 102 CALL isf_tbl_lvl(ht, e3t(:,:,:,Kmm), misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par) 110 DO jk = 1, jpk 111 ze3t(:,:,jk) = e3t(:,:,jk,Kmm) 112 END DO 113 CALL isf_tbl_lvl(ht(:,:), ze3t, misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par) 103 114 ! 104 115 ! 2.3: compute ice shelf melt -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/istate.F90
r13874 r13998 24 24 USE dom_oce ! ocean space and time domain 25 25 USE daymod ! calendar 26 USE divhor ! horizontal divergence (div_hor routine)27 26 USE dtatsd ! data temperature and salinity (dta_tsd routine) 28 27 USE dtauvd ! data: U & V current (dta_uvd routine) … … 35 34 USE lib_mpp ! MPP library 36 35 USE restart ! restart 36 #if defined key_agrif 37 USE agrif_oce_interp 38 USE agrif_oce 39 #endif 37 40 38 41 IMPLICIT NONE … … 43 46 !! * Substitutions 44 47 # include "do_loop_substitute.h90" 48 # include "domzgr_substitute.h90" 45 49 !!---------------------------------------------------------------------- 46 50 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 59 63 ! 60 64 INTEGER :: ji, jj, jk ! dummy loop indices 65 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zgdept ! 3D table !!st patch to use gdept subtitute 61 66 !!gm see comment further down 62 67 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: zuvd ! U & V data workspace … … 70 75 !!gm Why not include in the first call of dta_tsd ? 71 76 !!gm probably associated with the use of internal damping... 72 77 CALL dta_tsd_init ! Initialisation of T & S input data 73 78 !!gm to be moved in usrdef of C1D case 74 79 ! IF( lk_c1d ) CALL dta_uvd_init ! Initialization of U & V input data … … 84 89 #endif 85 90 91 #if defined key_agrif 92 IF ( (.NOT.Agrif_root()).AND.ln_init_chfrpar ) THEN 93 numror = 0 ! define numror = 0 -> no restart file to read 94 ln_1st_euler = .true. ! Set time-step indicator at nit000 (euler forward) 95 CALL day_init 96 CALL agrif_istate( Kbb, Kmm, Kaa ) ! Interp from parent 97 ! 98 ts (:,:,:,:,Kmm) = ts (:,:,:,:,Kbb) 99 ssh (:,:,Kmm) = ssh(:,:,Kbb) 100 uu (:,:,:,Kmm) = uu (:,:,:,Kbb) 101 vv (:,:,:,Kmm) = vv (:,:,:,Kbb) 102 ELSE 103 #endif 86 104 IF( ln_rstart ) THEN ! Restart from a file 87 105 ! ! ------------------- … … 99 117 CALL dta_tsd( nit000, 'ini', ts(:,:,:,:,Kbb) ) ! read 3D T and S data at nit000 100 118 ! 101 !!st ssh(:,:,Kbb) = 0._wp ! set the ocean at rest 102 !!st IF( ll_wd ) THEN 103 !!st ssh(:,:,Kbb) = -ssh_ref ! Added in 30 here for bathy that adds 30 as Iterative test CEOD 104 !!st ! 105 !!st ! Apply minimum wetdepth criterion 106 !!st ! 107 !!st DO_2D( 1, 1, 1, 1 ) 108 !!st IF( ht_0(ji,jj) + ssh(ji,jj,Kbb) < rn_wdmin1 ) THEN 109 !!st ssh(ji,jj,Kbb) = tmask(ji,jj,1)*( rn_wdmin1 - (ht_0(ji,jj)) ) 110 !!st ENDIF 111 !!st END_2D 112 !!st ENDIF 113 uu (:,:,:,Kbb) = 0._wp 114 vv (:,:,:,Kbb) = 0._wp 119 uu (:,:,:,Kbb) = 0._wp 120 vv (:,:,:,Kbb) = 0._wp 115 121 ! 116 122 ELSE ! user defined initial T and S 117 CALL usr_def_istate( gdept(:,:,:,Kbb), tmask, ts(:,:,:,:,Kbb), uu(:,:,:,Kbb), vv(:,:,:,Kbb) ) 118 CALL usr_def_istate_ssh(tmask, ssh(:,:,Kbb) ) 123 DO jk = 1, jpk 124 zgdept(:,:,jk) = gdept(:,:,jk,Kbb) 125 END DO 126 CALL usr_def_istate( zgdept, tmask, ts(:,:,:,:,Kbb), uu(:,:,:,Kbb), vv(:,:,:,Kbb) ) 119 127 ENDIF 120 128 ts (:,:,:,:,Kmm) = ts (:,:,:,:,Kbb) ! set now values from to before ones 121 !!st ssh (:,:,Kmm) = ssh(:,:,Kbb)122 129 uu (:,:,:,Kmm) = uu (:,:,:,Kbb) 123 130 vv (:,:,:,Kmm) = vv (:,:,:,Kbb) 124 hdiv(:,:,jpk) = 0._wp ! bottom divergence set one for 0 to zero at jpk level125 CALL div_hor( 0, Kbb, Kmm ) ! compute interior hdiv value126 !!gm hdiv(:,:,:) = 0._wp127 131 128 132 !!gm POTENTIAL BUG : 129 133 !!gm ISSUE : if ssh(:,:,Kbb) /= 0 then, in non linear free surface, the e3._n, e3._b should be recomputed 130 !! as well as gdept and gdepw.... !!!!!134 !! as well as gdept_ and gdepw_.... !!!!! 131 135 !! ===>>>> probably a call to domvvl initialisation here.... 132 136 … … 152 156 ! 153 157 ENDIF 158 #if defined key_agrif 159 ENDIF 160 #endif 154 161 ! 155 162 ! Initialize "now" and "before" barotropic velocities: -
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/tests/ISOMIP+/MY_SRC/sbcfwb.F90
r13286 r13998 17 17 USE dom_oce ! ocean space and time domain 18 18 USE sbc_oce ! surface ocean boundary condition 19 USE isf_oce 19 USE isf_oce , ONLY : fwfisf_cav, fwfisf_par, ln_isfcpl, ln_isfcpl_cons, risfcpl_cons_ssh ! ice shelf melting contribution 20 20 USE sbc_ice , ONLY : snwice_mass, snwice_mass_b, snwice_fmass 21 21 USE phycst ! physical constants … … 71 71 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: ztmsk_tospread, zerp_cor ! - - 72 72 REAL(wp) ,DIMENSION(1) :: z_fwfprv 73 COMPLEX( wp),DIMENSION(1) :: y_fwfnow73 COMPLEX(dp),DIMENSION(1) :: y_fwfnow 74 74 !!---------------------------------------------------------------------- 75 75 ! … … 95 95 snwice_mass_b(:,:) = 0.e0 ! no sea-ice model is being used : no snow+ice mass 96 96 snwice_mass (:,:) = 0.e0 97 snwice_fmass (:,:) = 0.e0 97 98 #endif 98 99 ! … … 205 206 ! 206 207 !!gm ===>>>> lbc_lnk should be useless as all the computation is done over the whole domain ! 207 CALL lbc_lnk( 'sbcfwb', zerp_cor, 'T', 1. )208 CALL lbc_lnk( 'sbcfwb', zerp_cor, 'T', 1.0_wp ) 208 209 ! 209 210 emp(:,:) = emp(:,:) + zerp_cor(:,:)
Note: See TracChangeset
for help on using the changeset viewer.