Changeset 6225 for branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90
- Timestamp:
- 2016-01-08T10:35:19+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4704_NOC5_MPP_BDY_UPDATE/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90
- Property svn:keywords set to Id
r4313 r6225 18 18 #endif 19 19 USE dyncor_c1d ! Coriolis term (c1d case) (dyn_cor_1d ) 20 USE dynnxt _c1d! time-stepping (dyn_nxt routine)20 USE dynnxt ! time-stepping (dyn_nxt routine) 21 21 USE dyndmp ! U & V momentum damping (dyn_dmp routine) 22 22 USE restart ! restart … … 28 28 29 29 !! * Substitutions 30 # include "domzgr_substitute.h90"31 30 # include "zdfddm_substitute.h90" 32 31 !!---------------------------------------------------------------------- 33 !! NEMO/C1D 3. 3 , NEMO Consortium (2010)34 !! $Id : step_c1d.F90 2382 2010-11-13 13:08:12Z gm$32 !! NEMO/C1D 3.7 , NEMO Consortium (2015) 33 !! $Id$ 35 34 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 36 35 !!---------------------------------------------------------------------- … … 55 54 !!---------------------------------------------------------------------- 56 55 INTEGER, INTENT(in) :: kstp ! ocean time-step index 56 ! 57 57 INTEGER :: jk ! dummy loop indice 58 58 INTEGER :: indic ! error indicator if < 0 … … 72 72 ! Ocean physics update (ua, va, ta, sa used as workspace) 73 73 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 74 CALL bn2( tsb, rn2b ) ! before Brunt-Vaisala frequency 75 CALL bn2( tsn, rn2 ) ! now Brunt-Vaisala frequency 74 CALL eos_rab( tsb, rab_b ) ! before local thermal/haline expension ratio at T-points 75 CALL eos_rab( tsn, rab_n ) ! now local thermal/haline expension ratio at T-points 76 CALL bn2( tsb, rab_b, rn2b ) ! before Brunt-Vaisala frequency 77 CALL bn2( tsn, rab_n, rn2 ) ! now Brunt-Vaisala frequency 76 78 ! VERTICAL PHYSICS 77 79 CALL zdf_bfr( kstp ) ! bottom friction … … 80 82 IF( lk_zdftke ) CALL zdf_tke( kstp ) ! TKE closure scheme for Kz 81 83 IF( lk_zdfgls ) CALL zdf_gls( kstp ) ! GLS closure scheme for Kz 82 IF( lk_zdfkpp ) CALL zdf_kpp( kstp ) ! KPP closure scheme for Kz83 84 IF( lk_zdfcst ) THEN ! Constant Kz (reset avt, avm[uv] to the background value) 84 85 avt (:,:,:) = rn_avt0 * tmask(:,:,:) … … 91 92 ENDIF 92 93 IF( ln_zdfevd ) CALL zdf_evd( kstp ) ! enhanced vertical eddy diffusivity 93 94 94 IF( lk_zdftmx ) CALL zdf_tmx( kstp ) ! tidal vertical mixing 95 96 IF( lk_zdfddm .AND. .NOT. lk_zdfkpp ) & 97 & CALL zdf_ddm( kstp ) ! double diffusive mixing 98 95 IF( lk_zdfddm ) CALL zdf_ddm( kstp ) ! double diffusive mixing 99 96 CALL zdf_mxl( kstp ) ! mixed layer depth 100 97 … … 115 112 ! Passive Tracer Model 116 113 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 117 CALL trc_stp( kstp )! time-stepping114 CALL trc_stp( kstp ) ! time-stepping 118 115 #endif 119 116 … … 121 118 ! Active tracers (ua, va used as workspace) 122 119 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 123 tsa(:,:,:,:) = 0.e0! set tracer trends to zero120 tsa(:,:,:,:) = 0._wp ! set tracer trends to zero 124 121 125 CALL tra_sbc ( kstp ) ! surface boundary condition 126 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr 127 IF( ln_tradmp ) CALL tra_dmp ( kstp ) ! internal damping trends- tracers 128 IF( lk_zdfkpp ) CALL tra_kpp ( kstp ) ! KPP non-local tracer fluxes 129 CALL tra_zdf ( kstp ) ! vertical mixing 130 CALL tra_nxt ( kstp ) ! tracer fields at next time step 131 IF( ln_zdfnpc ) CALL tra_npc ( kstp ) ! applied non penetrative convective adjustment on (t,s) 132 CALL eos( tsb, rhd, rhop, gdept_0(:,:,:) ) ! now (swap=before) in situ density for dynhpg module 122 CALL tra_sbc( kstp ) ! surface boundary condition 123 IF( ln_traqsr ) CALL tra_qsr( kstp ) ! penetrative solar radiation qsr 124 IF( ln_tradmp ) CALL tra_dmp( kstp ) ! internal damping trends- tracers 125 CALL tra_zdf( kstp ) ! vertical mixing 126 CALL eos( tsn, rhd, rhop, gdept_0(:,:,:) ) ! now potential density for zdfmxl 127 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! applied non penetrative convective adjustment on (t,s) 128 CALL tra_nxt( kstp ) ! tracer fields at next time step 129 130 133 131 134 132 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 135 133 ! Dynamics (ta, sa used as workspace) 136 134 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 137 ua(:,:,:) = 0.e0! set dynamics trends to zero138 va(:,:,:) = 0.e0135 ua(:,:,:) = 0._wp ! set dynamics trends to zero 136 va(:,:,:) = 0._wp 139 137 140 IF( ln_dyndmp ) CALL dyn_dmp ( kstp )! internal damping trends- momentum141 CALL dyn_cor_c1d( kstp )! vorticity term including Coriolis142 CALL dyn_zdf ( kstp )! vertical diffusion143 CALL dyn_nxt_c1d( kstp )! lateral velocity at next time step138 IF( ln_dyndmp ) CALL dyn_dmp ( kstp ) ! internal damping trends- momentum 139 CALL dyn_cor_c1d( kstp ) ! vorticity term including Coriolis 140 CALL dyn_zdf ( kstp ) ! vertical diffusion 141 CALL dyn_nxt ( kstp ) ! lateral velocity at next time step 144 142 145 143 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 146 144 ! Control and restarts 147 145 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 148 149 IF( kstp == nit000 ) CALL iom_close( numror )! close input ocean restart file150 IF( lrst_oce ) CALL rst_write ( kstp )! write output ocean restart file146 CALL stp_ctl( kstp, indic ) 147 IF( kstp == nit000 ) CALL iom_close( numror ) ! close input ocean restart file 148 IF( lrst_oce ) CALL rst_write( kstp ) ! write output ocean restart file 151 149 ! 150 #if defined key_iomput 151 IF( kstp == nitend .OR. indic < 0 ) CALL xios_context_finalize() ! needed for XIOS 152 ! 153 #endif 152 154 END SUBROUTINE stp_c1d 153 155
Note: See TracChangeset
for help on using the changeset viewer.