- Timestamp:
- 2013-11-19T12:19:21+01:00 (10 years ago)
- Location:
- branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/C1D
- Files:
-
- 2 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90
r2409 r4245 4 4 !! Ocean domain : 1D configuration 5 5 !!===================================================================== 6 !! History : 2.0 ! 2004-09 (C. Ethe) Original code 7 !! 3.0 ! 2008-04 (G. Madec) adaptation to SBC 6 !! History : 2.0 ! 2004-09 (C. Ethe) Original code 7 !! 3.0 ! 2008-04 (G. Madec) adaptation to SBC 8 !! 3.5 ! 2013-10 (D. Calvert) add namelist 8 9 !!---------------------------------------------------------------------- 10 #if defined key_c1d 11 !!---------------------------------------------------------------------- 12 !! 'key_c1d' 1D column configuration 13 !!---------------------------------------------------------------------- 14 !! c1d_init : read in the C1D namelist 15 !!---------------------------------------------------------------------- 16 USE in_out_manager ! I/O manager 17 USE par_kind ! kind parameters 9 18 10 19 IMPLICIT NONE 11 20 PRIVATE 12 21 13 #if defined key_c1d 14 LOGICAL, PUBLIC, PARAMETER :: lk_c1d = .TRUE. !: 1D config. flag activated 15 #else 16 LOGICAL, PUBLIC, PARAMETER :: lk_c1d = .FALSE. !: 1D config. flag de-activated 17 #endif 22 PUBLIC c1d_init ! called by nemogcm.F90 23 24 LOGICAL , PUBLIC, PARAMETER :: lk_c1d = .TRUE. ! 1D config. flag 25 26 REAL(wp), PUBLIC :: rn_lat1d ! Column latitude 27 REAL(wp), PUBLIC :: rn_lon1d ! Column longitude 18 28 19 29 !!---------------------------------------------------------------------- … … 22 32 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 23 33 !!====================================================================== 34 CONTAINS 35 36 SUBROUTINE c1d_init 37 !!---------------------------------------------------------------------- 38 !! *** ROUTINE c1d_init *** 39 !! 40 !! ** Purpose : Initialization of C1D options 41 !! 42 !! ** Method : Read namelist namc1d 43 !!---------------------------------------------------------------------- 44 INTEGER :: ios ! Local integer output status for namelist read 45 NAMELIST/namc1d/ rn_lat1d, rn_lon1d 46 !!---------------------------------------------------------------------- 47 ! 48 49 REWIND( numnam_ref ) ! Namelist namc1d in reference namelist : Tracer advection scheme 50 READ ( numnam_ref, namc1d, IOSTAT = ios, ERR = 901) 51 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in reference namelist', lwp ) 52 53 REWIND( numnam_cfg ) ! Namelist namtra_adv in configuration namelist : Tracer advection scheme 54 READ ( numnam_cfg, namc1d, IOSTAT = ios, ERR = 902 ) 55 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d in configuration namelist', lwp ) 56 WRITE ( numond, namc1d ) 57 58 ! 59 IF(lwp) THEN ! Control print 60 WRITE(numout,*) 61 WRITE(numout,*) 'c1d_init : Initialize 1D model configuration options' 62 WRITE(numout,*) '~~~~~~~~' 63 WRITE(numout,*) ' Namelist namc1d : set options for the C1D model' 64 WRITE(numout,*) ' column latitude rn_lat1d = ', rn_lat1d 65 WRITE(numout,*) ' column longitude rn_lon1d = ', rn_lon1d 66 ENDIF 67 ! 68 ! 69 END SUBROUTINE c1d_init 70 71 #else 72 !!---------------------------------------------------------------------- 73 !! Dummy module : No use of 1D configuration 74 !!---------------------------------------------------------------------- 75 USE par_kind ! kind parameters 76 77 LOGICAL, PUBLIC, PARAMETER :: lk_c1d = .FALSE. !: 1D config. flag de-activated 78 REAL(wp) :: rn_lat1d, rn_lon1d 79 CONTAINS 80 81 SUBROUTINE c1d_init ! Dummy routine 82 END SUBROUTINE c1d_init 83 84 #endif 85 86 !!====================================================================== 24 87 END MODULE c1d -
branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/C1D/dtauvd.F90
r4244 r4245 26 26 PUBLIC dta_uvd ! called by istate.F90 and dyndmp.90 27 27 28 LOGICAL , PUBLIC :: ln_uvd_init = .FALSE.! Flag to initialise with U & V current data29 LOGICAL , PUBLIC :: ln_uvd_dyndmp = .FALSE.! Flag for Newtonian damping toward U & V current data28 LOGICAL , PUBLIC :: ln_uvd_init ! Flag to initialise with U & V current data 29 LOGICAL , PUBLIC :: ln_uvd_dyndmp ! Flag for Newtonian damping toward U & V current data 30 30 31 31 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_uvd ! structure for input U & V current (file information and data) … … 59 59 !! 60 60 NAMELIST/namc1d_uvd/ ln_uvd_init, ln_uvd_dyndmp, cn_dir, sn_ucur, sn_vcur 61 INTEGER :: ios 61 62 !!---------------------------------------------------------------------- 62 63 ! … … 64 65 ! 65 66 ierr0 = 0 ; ierr1 = 0 ; ierr2 = 0 ; ierr3 = 0 66 ! 67 cn_dir = './' ! default: directory in which the model is executed 68 ! 69 ! !== read namelist namc1d_uvd: flags and field info ==! 70 71 ! ! default values (NB: frequency positive => hours, negative => months) 72 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 73 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 74 sn_ucur = FLD_N( 'ucurrent', -1 , 'u_current', .false. , .true. , 'monthly' , '' , 'Ume' ) 75 sn_vcur = FLD_N( 'vcurrent', -1 , 'v_current', .false. , .true. , 'monthly' , '' , 'Vme' ) 76 77 REWIND( numnam ) ! Read in namelist namc1d_uvd 78 READ ( numnam, namc1d_uvd ) 67 68 REWIND( numnam_ref ) ! Namelist namc1d_uvd in reference namelist : 69 READ ( numnam_ref, namc1d_uvd, IOSTAT = ios, ERR = 901) 70 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in reference namelist', lwp ) 71 72 REWIND( numnam_cfg ) ! Namelist namc1d_uvd in configuration namelist : Parameters of the run 73 READ ( numnam_cfg, namc1d_uvd, IOSTAT = ios, ERR = 902 ) 74 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_uvd in configuration namelist', lwp ) 75 WRITE ( numond, namc1d_uvd ) 79 76 80 77 ! ! force the initialization when dyndmp is used -
branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90
r4244 r4245 33 33 PUBLIC dyn_dmp ! routine called by step_c1d.F90 34 34 35 LOGICAL, PUBLIC :: ln_dyndmp = .TRUE.! Flag for Newtonian damping35 LOGICAL, PUBLIC :: ln_dyndmp ! Flag for Newtonian damping 36 36 37 37 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: utrdmp ! damping U current trend (m/s2) … … 73 73 !!---------------------------------------------------------------------- 74 74 NAMELIST/namc1d_dyndmp/ ln_dyndmp 75 !!---------------------------------------------------------------------- 76 77 REWIND ( numnam ) !== read namelist namc1d_dyndmp : momentum damping flag ==! 78 READ ( numnam, namc1d_dyndmp ) !== (namelist of namtra_dmp is used for other parameters) ==! 75 INTEGER :: ios 76 !!---------------------------------------------------------------------- 77 78 REWIND( numnam_ref ) ! Namelist namc1d_dyndmp in reference namelist : 79 READ ( numnam_ref, namc1d_dyndmp, IOSTAT = ios, ERR = 901) 80 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in reference namelist', lwp ) 81 82 REWIND( numnam_cfg ) ! Namelist namc1d_dyndmp in configuration namelist : Parameters of the run 83 READ ( numnam_cfg, namc1d_dyndmp, IOSTAT = ios, ERR = 902 ) 84 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namc1d_dyndmp in configuration namelist', lwp ) 85 WRITE ( numond, namc1d_dyndmp ) 79 86 80 87 IF(lwp) THEN ! control print -
branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90
r4153 r4245 13 13 !! stp_c1d : NEMO system time-stepping in c1d case 14 14 !!---------------------------------------------------------------------- 15 USE step_oce 15 USE step_oce ! time stepping definition modules 16 16 #if defined key_top 17 USE trcstp 17 USE trcstp ! passive tracer time-stepping (trc_stp routine) 18 18 #endif 19 19 USE dyncor_c1d ! Coriolis term (c1d case) (dyn_cor_1d ) 20 20 USE dynnxt_c1d ! time-stepping (dyn_nxt routine) 21 USE dyndmp ! U & V momentum damping (dyn_dmp routine) 21 22 USE restart ! restart 22 23 … … 124 125 CALL tra_sbc ( kstp ) ! surface boundary condition 125 126 IF( ln_traqsr ) CALL tra_qsr ( kstp ) ! penetrative solar radiation qsr 127 IF( ln_tradmp ) CALL tra_dmp ( kstp ) ! internal damping trends- tracers 126 128 IF( lk_zdfkpp ) CALL tra_kpp ( kstp ) ! KPP non-local tracer fluxes 127 129 CALL tra_zdf ( kstp ) ! vertical mixing … … 136 138 va(:,:,:) = 0.e0 137 139 140 IF( ln_dyndmp ) CALL dyn_dmp ( kstp ) ! internal damping trends- momentum 138 141 CALL dyn_cor_c1d( kstp ) ! vorticity term including Coriolis 139 142 CALL dyn_zdf ( kstp ) ! vertical diffusion
Note: See TracChangeset
for help on using the changeset viewer.