MODULE istate_mod !!====================================================================== !! *** MODULE istate *** !! Ocean state : initial state setting !!===================================================================== !! History : 4.0 ! 89-12 (P. Andrich) Original code !! 5.0 ! 91-11 (G. Madec) rewritting !! 6.0 ! 96-01 (G. Madec) terrain following coordinates !! 8.0 ! 01-09 (M. Levy, M. Ben Jelloul) istate_eel !! 8.0 ! 01-09 (M. Levy, M. Ben Jelloul) istate_uvg !! 9.0 ! 03-08 (G. Madec) F90: Free form, modules !! 9.0 ! 03-09 (G. Madec, C. Talandier) add EEL R5 !! 9.0 ! 04-05 (A. Koch-Larrouy) istate_gyre !! 9.0 ! 06-07 (S. Masson) distributed restart using iom !!---------------------------------------------------------------------- !!---------------------------------------------------------------------- !! istate_init : initial state setting !! istate_tem : analytical profile for initial Temperature !! istate_sal : analytical profile for initial Salinity !! istate_eel : initial state setting of EEL R5 configuration !! istate_gyre : initial state setting of GYRE configuration !! istate_uvg : initial velocity in geostropic balance !!---------------------------------------------------------------------- USE oce ! ocean dynamics and active tracers USE dom_oce ! ocean space and time domain USE daymod ! USE ldftra_oce ! ocean active tracers: lateral physics USE zdf_oce ! ocean vertical physics USE phycst ! physical constants USE wzvmod ! verctical velocity (wzv routine) USE dtatem ! temperature data (dta_tem routine) USE dtasal ! salinity data (dta_sal routine) USE restart ! ocean restart (rst_read routine) USE solisl ! ??? USE in_out_manager ! I/O manager USE iom USE c1d ! re-initialization of u-v mask for the 1D configuration USE zpshde ! partial step: hor. derivative (zps_hde routine) USE eosbn2 ! equation of state (eos bn2 routine) USE domvvl ! varying vertical mesh USE dynspg_oce ! pressure gradient schemes USE dynspg_flt ! pressure gradient schemes USE dynspg_exp ! pressure gradient schemes USE dynspg_ts ! pressure gradient schemes IMPLICIT NONE PRIVATE PUBLIC istate_p ! routine called by step_tam.F90 !! * Substitutions # include "domzgr_substitute.h90" # include "vectopt_loop_substitute.h90" !!---------------------------------------------------------------------- !! OPA 9.0 , LOCEAN-IPSL (2006) !! $Id$ !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) !!---------------------------------------------------------------------- CONTAINS SUBROUTINE istate_p !!---------------------------------------------------------------------- !! *** ROUTINE istate_init *** !! !! ** Purpose : Initialization of the dynamics and tracer fields. !!---------------------------------------------------------------------- USE eosbn2 ! eq. of state, Brunt Vaisala frequency (eos routine) IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) 'istate_ini_tst : Initialization of the dynamics and tracers' IF(lwp) WRITE(numout,*) '~~~~~~~~~~' rhd (:,:,:) = 0.e0 rhop (:,:,:) = 0.e0 rn2 (:,:,:) = 0.e0 IF( ln_rstart ) THEN ! Restart from a file ! ! ------------------- neuler = 1 ! Set time-step indicator at nit000 (leap-frog) CALL rst_read ! Read the restart file CALL day_init ! model calendar (using both namelist and restart infos) ELSE CALL ctl_stop( ' You should not have seen this error message ' ) ENDIF IF( lk_vvl .OR. lk_agrif ) THEN CALL ctl_stop( ' You should not have seen this error message ' ) ENDIF IF( lk_vvl ) THEN CALL ctl_stop( ' You should not have seen this error message ' ) ENDIF !!! Temporary fix to save emp IF( ln_rstart ) THEN IF( lk_dynspg_flt ) CALL flt_rst( nit000, 'READ' ) ! read or initialize the following fields END IF ! ! Vertical velocity ! ! ----------------- ! IF( .NOT. lk_vvl ) CALL wzv( nit000 ) ! from horizontal divergence ! END SUBROUTINE istate_p !!===================================================================== END MODULE istate_mod