Changeset 9780
- Timestamp:
- 2018-06-12T14:12:51+02:00 (6 years ago)
- Location:
- NEMO/trunk/src
- Files:
-
- 1 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/NST/agrif_ice_update.F90
r9761 r9780 42 42 CONTAINS 43 43 44 SUBROUTINE agrif_update_ice( kt)44 SUBROUTINE agrif_update_ice( ) 45 45 !!---------------------------------------------------------------------- 46 46 !! *** ROUTINE agrif_update_ice *** … … 49 49 !! ** Action : - Update (u_ice,v_ice) and ice tracers 50 50 !!---------------------------------------------------------------------- 51 INTEGER, INTENT(in) :: kt52 !!----------------------------------------------------------------------53 51 ! 54 52 IF( Agrif_Root() .OR. nn_ice == 0 ) RETURN ! do not update if inside Parent Grid or if child domain does not have ice 55 53 ! 56 IF( ( MOD( (kt-nit000)/nn_fsbc + 1, Agrif_irhot() * Agrif_Parent(nn_fsbc)/nn_fsbc ) /=0 ) .AND. (kt /= 0) ) RETURN ! update only at the parent ice time step 54 IF (lwp.AND.lk_agrif_debug) Write(*,*) 'Update sea ice from grid Number',Agrif_Fixed() 55 ! 56 ! IF( ( MOD( (kt-nit000)/nn_fsbc + 1, Agrif_irhot() * Agrif_Parent(nn_fsbc)/nn_fsbc ) /=0 ) .AND. (kt /= 0) ) RETURN ! update only at the parent ice time step 57 57 ! 58 58 Agrif_SpecialValueFineGrid = -9999. -
NEMO/trunk/src/NST/agrif_oce_update.F90
r9758 r9780 144 144 Agrif_UseSpecialValueInUpdate = .FALSE. 145 145 ! 146 # if defined DECAL_FEEDBACK && definedVOL_REFLUX146 # if defined VOL_REFLUX 147 147 IF ( ln_dynspg_ts.AND.ln_bt_fw ) THEN 148 148 ! Refluxing on ssh: 149 # if defined DECAL_FEEDBACK 149 150 CALL Agrif_Update_Variable(ub2b_update_id,locupdate1=(/0, 0/),locupdate2=(/1, 1/),procname = reflux_sshu) 150 151 CALL Agrif_Update_Variable(vb2b_update_id,locupdate1=(/1, 1/),locupdate2=(/0, 0/),procname = reflux_sshv) 152 # else 153 CALL Agrif_Update_Variable(ub2b_update_id,locupdate1=(/-1,-1/),locupdate2=(/ 0, 0/),procname = reflux_sshu) 154 CALL Agrif_Update_Variable(vb2b_update_id,locupdate1=(/ 0, 0/),locupdate2=(/-1,-1/),procname = reflux_sshv) 155 # endif 151 156 END IF 152 157 # endif … … 157 162 158 163 159 SUBROUTINE Agrif_Update_Tke( kt)164 SUBROUTINE Agrif_Update_Tke( ) 160 165 !!--------------------------------------------- 161 166 !! *** ROUTINE Agrif_Update_Tke *** 162 167 !!--------------------------------------------- 163 168 !! 164 INTEGER, INTENT(in) :: kt165 169 ! 166 170 IF (Agrif_Root()) RETURN 167 171 ! 168 IF( ( Agrif_NbStepint() .NE. 0 ) .AND. (kt /= 0) ) RETURN169 172 # if defined TWO_WAY 170 173 -
NEMO/trunk/src/NST/agrif_user.F90
r9761 r9780 64 64 CALL Agrif_InitValues_cont_ice 65 65 # endif 66 ! 67 IF ( Agrif_Level().EQ.Agrif_MaxLevel() ) CALL agrif_Update_ini() 68 69 Agrif_UseSpecialValueInUpdate = .FALSE. 70 66 ! 71 67 END SUBROUTINE Agrif_initvalues 72 68 … … 296 292 END SUBROUTINE Agrif_InitValues_cont 297 293 298 RECURSIVE SUBROUTINE Agrif_Update_ini( )299 !!----------------------------------------------------------------------300 !! *** ROUTINE agrif_Update_ini ***301 !!302 !! ** Purpose :: Recursive update done at initialization303 !!----------------------------------------------------------------------304 USE dom_oce305 USE agrif_oce_update306 #if defined key_top307 USE agrif_top_update308 #endif309 #if defined key_si3310 USE agrif_ice_update311 #endif312 !313 IMPLICIT NONE314 !!----------------------------------------------------------------------315 !316 IF (Agrif_Root()) RETURN317 !318 CALL Agrif_Update_ssh()319 IF (.NOT.ln_linssh) CALL Agrif_Update_vvl()320 CALL Agrif_Update_tra()321 #if defined key_top322 CALL Agrif_Update_Trc()323 #endif324 CALL Agrif_Update_dyn()325 ! JC remove update because this precludes from perfect restartability326 !! CALL Agrif_Update_tke(0)327 328 #if defined key_si3329 CALL agrif_update_ice(0)330 #endif331 332 CALL Agrif_ChildGrid_To_ParentGrid()333 CALL Agrif_Update_ini()334 CALL Agrif_ParentGrid_To_ChildGrid()335 336 END SUBROUTINE agrif_update_ini337 338 294 SUBROUTINE agrif_declare_var 339 295 !!---------------------------------------------------------------------- -
NEMO/trunk/src/OCE/nemogcm.F90
r9656 r9780 89 89 USE xios ! xIOserver 90 90 #endif 91 #if defined key_agrif 92 USE agrif_all_update ! Master Agrif update 93 #endif 91 94 92 95 IMPLICIT NONE … … 160 163 ! !== AGRIF time-stepping ==! 161 164 CALL Agrif_Regrid() 165 ! 166 ! Recursive update from highest nested level to lowest: 167 CALL Agrif_step_child_adj(Agrif_Update_All) 162 168 ! 163 169 DO WHILE( istp <= nitend .AND. nstop == 0 ) -
NEMO/trunk/src/OCE/step.F90
r9610 r9780 294 294 CALL Agrif_Integrate_ChildGrids( stp ) ! allows to finish all the Child Grids before updating 295 295 296 IF( Agrif_NbStepint() == 0 ) THEN ! AGRIF Update from zoom N to zoom 1 then to Parent 297 !!jc in fact update is useless at last time step, but do it for global diagnostics 298 #if defined key_si3 299 CALL Agrif_Update_ice( kstp ) ! update sea-ice 300 #endif 301 CALL Agrif_Update_ssh() ! Update ssh 302 IF(.NOT.ln_linssh) CALL Agrif_Update_vvl() ! Update vertical scale factors 303 CALL Agrif_Update_Tra() ! Update active tracers 304 CALL Agrif_Update_Dyn() ! Update momentum 305 # if defined key_top 306 CALL Agrif_Update_Trc() ! Update passive tracers 307 # endif 308 ENDIF 296 IF( Agrif_NbStepint() == 0 ) CALL Agrif_update_all( ) ! Update all components 309 297 #endif 310 298 IF( ln_diaobs ) CALL dia_obs ( kstp ) ! obs-minus-model (assimilation) diagnostics (call after dynamics update) -
NEMO/trunk/src/OCE/step_oce.F90
r9598 r9780 104 104 #if defined key_agrif 105 105 USE agrif_oce_sponge ! Momemtum and tracers sponges 106 USE agrif_oce_update ! Update (2-way nesting) 107 #if defined key_si3 108 USE agrif_ice_update 109 #endif 110 #if defined key_top 111 USE agrif_top_update ! passive tracers update (2-way nesting) 112 #endif 106 USE agrif_all_update ! Main update driver 113 107 #endif 114 108 #if defined key_top
Note: See TracChangeset
for help on using the changeset viewer.