- Timestamp:
- 2015-10-26T15:59:39+01:00 (9 years ago)
- Location:
- branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90
- Property svn:keywords set to Id
r4624 r5837 27 27 REAL(wp), PUBLIC :: rn_lat1d ! Column latitude 28 28 REAL(wp), PUBLIC :: rn_lon1d ! Column longitude 29 LOGICAL , PUBLIC :: ln_c1d_locpt ! Localization (or not) of 1D column in a grid 29 30 30 31 !!---------------------------------------------------------------------- 31 32 !! NEMO/C1D 3.3 , NEMO Consortium (2010) 32 !! $Id : c1d.F90 2382 2010-11-13 13:08:12Z gm$33 !! $Id$ 33 34 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 34 35 !!====================================================================== … … 44 45 !!---------------------------------------------------------------------- 45 46 INTEGER :: ios ! Local integer output status for namelist read 46 NAMELIST/namc1d/ rn_lat1d, rn_lon1d 47 NAMELIST/namc1d/ rn_lat1d, rn_lon1d , ln_c1d_locpt 47 48 !!---------------------------------------------------------------------- 48 49 ! … … 63 64 WRITE(numout,*) '~~~~~~~~' 64 65 WRITE(numout,*) ' Namelist namc1d : set options for the C1D model' 65 WRITE(numout,*) ' column latitude rn_lat1d = ', rn_lat1d 66 WRITE(numout,*) ' column longitude rn_lon1d = ', rn_lon1d 66 WRITE(numout,*) ' column latitude rn_lat1d = ', rn_lat1d 67 WRITE(numout,*) ' column longitude rn_lon1d = ', rn_lon1d 68 WRITE(numout,*) ' column localization in a grid ln_c1d_locpt = ', ln_c1d_locpt 67 69 ENDIF 68 70 ! … … 78 80 LOGICAL, PUBLIC, PARAMETER :: lk_c1d = .FALSE. !: 1D config. flag de-activated 79 81 REAL(wp) :: rn_lat1d, rn_lon1d 82 LOGICAL , PUBLIC :: ln_c1d_locpt = .FALSE. 83 80 84 CONTAINS 81 85 -
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/domc1d.F90
- Property svn:keywords set to Id
r4245 r5837 26 26 !!---------------------------------------------------------------------- 27 27 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 28 !! $Id : domc1d.F90 3851 2013-04-30 10:30:51Z hadcv$28 !! $Id$ 29 29 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 30 30 !!---------------------------------------------------------------------- … … 43 43 !! ** Action : Recalculate jpizoom, jpjzoom (indices of C1D zoom) 44 44 !!---------------------------------------------------------------------- 45 NAMELIST/namdom/ nn_bathy, rn_bathy , rn_e3zps_min, rn_e3zps_rat, nn_msh, rn_hmin, & 46 & nn_acc , rn_atfp , rn_rdt , rn_rdtmin , & 47 & rn_rdtmax, rn_rdth , nn_closea , ln_crs, & 48 & jphgr_msh, & 49 & ppglam0, ppgphi0, ppe1_deg, ppe2_deg, ppe1_m, ppe2_m, & 50 & ppsur, ppa0, ppa1, ppkth, ppacr, ppdzmin, pphmax, ldbletanh, & 51 & ppa2, ppkth2, ppacr2 52 45 53 INTEGER :: ji, jj ! Dummy loop indices 46 54 INTEGER :: inum ! Coordinate file handle (case 0) 47 55 INTEGER :: ijeq ! Index of equator T point (case 4) 56 INTEGER :: ios ! Local integer output status for namelist read 48 57 49 58 INTEGER , DIMENSION(2) :: iloc ! Minloc returned indices … … 63 72 IF( nn_timing == 1 ) CALL timing_start('dom_c1d') 64 73 74 REWIND( numnam_ref ) ! Namelist namdom in reference namelist : space & time domain (bathymetry, mesh, timestep) 75 READ ( numnam_ref, namdom, IOSTAT = ios, ERR = 901 ) 76 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in reference namelist', lwp ) 77 78 ! 79 REWIND( numnam_cfg ) ! Namelist namdom in configuration namelist : space & time domain (bathymetry, mesh, timestep) 80 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 902 ) 81 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwp ) 82 65 83 CALL wrk_alloc( jpidta, jpjdta, gphidta, glamdta, zdist ) 66 84 … … 80 98 CALL iom_get( inum, jpdom_unknown, 'gphit', gphidta ) ! so use jpdom_unknown not jpdom_data 81 99 CALL iom_close ( inum ) 82 83 PRINT *,'Check dom_c1d coordinates file data read in:' !!!84 PRINT *,'Bottom-left most glamdta is ', glamdta(1,1) !!! Need to check85 PRINT *,'Bottom-left most gphidta is ', gphidta(1,1) !!! field read86 PRINT *,'We are using nimpp,njmpp = ' , nimpp,njmpp !!!87 100 88 101 CASE ( 1 ) ! geographical mesh on the sphere with regular grid-spacing -
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/dtauvd.F90
- Property svn:keywords set to Id
r4624 r5837 35 35 !!---------------------------------------------------------------------- 36 36 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 37 !! $Id : dtauvd.F90 2392 2010-11-15 21:20:05Z gm$37 !! $Id$ 38 38 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 39 39 !!---------------------------------------------------------------------- -
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90
- Property svn:keywords set to Id
r2409 r5837 30 30 !!---------------------------------------------------------------------- 31 31 !! NEMO/C1D 3.3 , NEMO Consortium (2010) 32 !! $Id : dyncor_c1d.F90 2382 2010-11-13 13:08:12Z gm$32 !! $Id$ 33 33 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 34 34 !!---------------------------------------------------------------------- -
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/dyndmp.F90
- Property svn:keywords set to Id
r4624 r5837 3 3 !! *** MODULE dyndmp *** 4 4 !! Ocean dynamics: internal restoring trend on momentum (U and V current) 5 !! This should only be used for C1D case in current form 5 6 !!====================================================================== 6 7 !! History : 3.5 ! 2013-08 (D. Calvert) Original code 8 !! 3.6 ! 2014-08 (T. Graham) Modified to use netcdf file of 9 !! restoration coefficients supplied to tradmp 7 10 !!---------------------------------------------------------------------- 8 11 … … 15 18 USE dom_oce ! ocean: domain variables 16 19 USE c1d ! 1D vertical configuration 17 USE trdmod ! ocean: trends18 USE trdmod_oce ! ocean: trends variables19 20 USE tradmp ! ocean: internal damping 20 21 USE zdf_oce ! ocean: vertical physics … … 27 28 USE wrk_nemo ! Memory allocation 28 29 USE timing ! Timing 30 USE iom ! I/O manager 29 31 30 32 IMPLICIT NONE … … 45 47 !!---------------------------------------------------------------------- 46 48 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 47 !! $Id : dyndmp.F90 3294 2012-01-28 16:44:18Z rblod$49 !! $Id$ 48 50 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 49 51 !!---------------------------------------------------------------------- … … 75 77 NAMELIST/namc1d_dyndmp/ ln_dyndmp 76 78 INTEGER :: ios 79 INTEGER :: imask 77 80 !!---------------------------------------------------------------------- 78 81 … … 93 96 WRITE(numout,*) ' add a damping term or not ln_dyndmp = ', ln_dyndmp 94 97 WRITE(numout,*) ' Namelist namtra_dmp : Set damping parameters' 95 WRITE(numout,*) ' horizontal damping option nn_hdmp = ', nn_hdmp 96 WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp, '(non-C1D zoom: forced to 0)' 97 WRITE(numout,*) ' surface time scale (days) rn_surf = ', rn_surf 98 WRITE(numout,*) ' bottom time scale (days) rn_bot = ', rn_bot 99 WRITE(numout,*) ' depth of transition (meters) rn_dep = ', rn_dep 100 WRITE(numout,*) ' create a damping.coeff file nn_file = ', nn_file 98 WRITE(numout,*) ' Apply relaxation or not ln_tradmp = ', ln_tradmp 99 WRITE(numout,*) ' mixed layer damping option nn_zdmp = ', nn_zdmp 100 WRITE(numout,*) ' Damping file name cn_resto = ', cn_resto 101 101 WRITE(numout,*) 102 102 ENDIF … … 106 106 IF( dyn_dmp_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'dyn_dmp_init: unable to allocate arrays' ) 107 107 ! 108 #if ! defined key_c1d109 SELECT CASE ( nn_hdmp ) !== control print of horizontal option ==!110 CASE ( -1 ) ; IF(lwp) WRITE(numout,*) ' momentum damping in the Med & Red seas only'111 CASE ( 1:90 ) ; IF(lwp) WRITE(numout,*) ' momentum damping poleward of', nn_hdmp, ' degrees'112 CASE DEFAULT113 WRITE(ctmp1,*) ' bad flag value for nn_hdmp = ', nn_hdmp114 CALL ctl_stop(ctmp1)115 END SELECT116 !117 #endif118 108 SELECT CASE ( nn_zdmp ) !== control print of vertical option ==! 119 109 CASE ( 0 ) ; IF(lwp) WRITE(numout,*) ' momentum damping throughout the water column' … … 132 122 utrdmp(:,:,:) = 0._wp ! internal damping trends 133 123 vtrdmp(:,:,:) = 0._wp 134 ! !== Damping coefficients calculation: ==! 135 ! !== use tradmp.F90 subroutines dtacof, dtacof_zoom and cofdis ==! 136 ! !!! NOTE: these need to be altered for use in this module if 137 ! !!! they are to be used outside the C1D context 138 ! !!! (use of U,V grid variables) 139 IF( lzoom .AND. .NOT. lk_c1d ) THEN ; CALL dtacof_zoom( resto_uv ) 140 ELSE ; CALL dtacof( nn_hdmp, rn_surf, rn_bot, rn_dep, nn_file, 'DYN', resto_uv ) 141 ENDIF 142 ! 124 ! 125 !Read in mask from file 126 CALL iom_open ( cn_resto, imask) 127 CALL iom_get ( imask, jpdom_autoglo, 'resto', resto) 128 CALL iom_close( imask ) 143 129 ENDIF 144 130 ! … … 164 150 !! ** Action : - (ua,va) momentum trends updated with the damping trend 165 151 !!---------------------------------------------------------------------- 166 !167 152 INTEGER, INTENT(in) :: kt ! ocean time-step index 168 153 !! … … 236 221 END SELECT 237 222 ! 238 ! ! Trend diagnostic239 IF( l_trddyn ) CALL trd_mod( utrdmp, vtrdmp, jpdyn_trd_dat, 'DYN', kt )223 !!gm ! ! Trend diagnostic 224 !!gm IF( l_trddyn ) CALL trd_mod( utrdmp, vtrdmp, jpdyn_trd_dat, 'DYN', kt ) 240 225 ! 241 226 ! ! Control print -
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/dynnxt_c1d.F90
- Property svn:keywords set to Id
r2409 r5837 25 25 !!---------------------------------------------------------------------- 26 26 !! NEMO/C1D 3.3 , NEMO Consortium (2010) 27 !! $Id : dynnxt_c1d.F90 2382 2010-11-13 13:08:12Z gm$27 !! $Id$ 28 28 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 29 29 !!---------------------------------------------------------------------- -
branches/2014/dev_r4650_UKMO14.4_OBS_GENERAL_VINTERP/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90
- Property svn:keywords set to Id
r4313 r5837 32 32 !!---------------------------------------------------------------------- 33 33 !! NEMO/C1D 3.3 , NEMO Consortium (2010) 34 !! $Id : step_c1d.F90 2382 2010-11-13 13:08:12Z gm$34 !! $Id$ 35 35 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 36 36 !!---------------------------------------------------------------------- … … 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 … … 115 117 ! Passive Tracer Model 116 118 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 117 CALL trc_stp( kstp )! time-stepping119 CALL trc_stp( kstp ) ! time-stepping 118 120 #endif 119 121 … … 121 123 ! Active tracers (ua, va used as workspace) 122 124 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 123 tsa(:,:,:,:) = 0.e0! set tracer trends to zero125 tsa(:,:,:,:) = 0._wp ! set tracer trends to zero 124 126 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 127 CALL tra_sbc( kstp ) ! surface boundary condition 128 IF( ln_traqsr ) CALL tra_qsr( kstp ) ! penetrative solar radiation qsr 129 IF( ln_tradmp ) CALL tra_dmp( kstp ) ! internal damping trends- tracers 130 IF( lk_zdfkpp ) CALL tra_kpp( kstp ) ! KPP non-local tracer fluxes 131 CALL tra_zdf( kstp ) ! vertical mixing 132 CALL eos( tsn, rhd, rhop, gdept_0(:,:,:) ) ! now potential density for zdfmxl 133 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! applied non penetrative convective adjustment on (t,s) 134 CALL tra_nxt( kstp ) ! tracer fields at next time step 135 136 133 137 134 138 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 135 139 ! Dynamics (ta, sa used as workspace) 136 140 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 137 ua(:,:,:) = 0.e0! set dynamics trends to zero138 va(:,:,:) = 0.e0141 ua(:,:,:) = 0._wp ! set dynamics trends to zero 142 va(:,:,:) = 0._wp 139 143 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 step144 IF( ln_dyndmp ) CALL dyn_dmp ( kstp ) ! internal damping trends- momentum 145 CALL dyn_cor_c1d( kstp ) ! vorticity term including Coriolis 146 CALL dyn_zdf ( kstp ) ! vertical diffusion 147 CALL dyn_nxt_c1d( kstp ) ! lateral velocity at next time step 144 148 145 149 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 146 150 ! Control and restarts 147 151 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 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 file152 CALL stp_ctl( kstp, indic ) 153 IF( kstp == nit000 ) CALL iom_close( numror ) ! close input ocean restart file 154 IF( lrst_oce ) CALL rst_write( kstp ) ! write output ocean restart file 151 155 ! 156 #if defined key_iomput 157 IF( kstp == nitend .OR. indic < 0 ) CALL xios_context_finalize() ! needed for XIOS 158 ! 159 #endif 152 160 END SUBROUTINE stp_c1d 153 161
Note: See TracChangeset
for help on using the changeset viewer.