- Timestamp:
- 2010-11-15T22:20:05+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/DTA/dtatem.F90
r2287 r2392 4 4 !! Ocean data : read ocean temperature data from monthly atlas data 5 5 !!===================================================================== 6 !! History : OPA ! 1991-03 () Original code 7 !! - ! 1992-07 (M. Imbard) 8 !! 8.0 ! 1999-10 (M.A. Foujols, M. Imbard) NetCDF FORMAT 9 !! NEMO 1.0 ! 2002-06 (G. Madec) F90: Free form and module 10 !! 3.3 ! 2010-10 (C. Bricaud, S. Masson) use of fldread 11 !!---------------------------------------------------------------------- 6 12 #if defined key_dtatem || defined key_esopa 7 13 !!---------------------------------------------------------------------- … … 10 16 !! dta_tem : read ocean temperature data 11 17 !!---l------------------------------------------------------------------- 12 !! * Modules used13 18 USE oce ! ocean dynamics and tracers 14 19 USE dom_oce ! ocean space and time domain … … 22 27 PRIVATE 23 28 24 !! * Routine accessibility 25 PUBLIC dta_tem ! called by step.F90 and inidta.F90 26 27 !! * Shared module variables 29 PUBLIC dta_tem ! called by step.F90 and inidta.F90 30 28 31 LOGICAL , PUBLIC, PARAMETER :: lk_dtatem = .TRUE. !: temperature data flag 29 32 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) :: t_dta !: temperature data at given time-step 30 33 31 !! * Module variables32 34 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_tem ! structure of input SST (file informations, fields read) 33 35 … … 37 39 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 38 40 !! $Id$ 39 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 40 !!---------------------------------------------------------------------- 41 41 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 42 !!---------------------------------------------------------------------- 42 43 CONTAINS 43 44 !!----------------------------------------------------------------------45 !! Default case NetCDF file46 !!----------------------------------------------------------------------47 44 48 45 SUBROUTINE dta_tem( kt ) … … 62 59 !! 63 60 !! ** Action : define t_dta array at time-step kt 64 !!65 !! History :66 !! ! 91-03 () Original code67 !! ! 92-07 (M. Imbard)68 !! ! 99-10 (M.A. Foujols, M. Imbard) NetCDF FORMAT69 !! 8.5 ! 02-09 (G. Madec) F90: Free form and module70 61 !!---------------------------------------------------------------------- 71 62 INTEGER, INTENT( in ) :: kt ! ocean time-step 72 63 ! 73 64 INTEGER :: ji, jj, jk, jl, jkk ! dummy loop indicies 74 65 INTEGER :: ik, ierror ! temporary integers … … 85 76 TYPE(FLD_N) :: sn_tem 86 77 LOGICAL , SAVE :: linit_tem = .FALSE. 78 !! 79 NAMELIST/namdta_tem/ cn_dir, sn_tem 87 80 !!---------------------------------------------------------------------- 88 NAMELIST/namdta_tem/cn_dir,sn_tem89 81 90 82 ! 1. Initialization … … 96 88 cn_dir = './' ! directory in which the model is executed 97 89 ! ... default values (NB: frequency positive => hours, negative => months) 98 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation!99 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs!100 sn_tem = FLD_N( 'temperature', -1. , 'votemper', .false. , .true. , 'yearly' , '' , '')101 102 REWIND( numnam ) ! ...read in namlist namdta_tem90 ! ! file ! frequency ! variable ! time intep ! clim ! 'yearly' or ! weights ! rotation ! 91 ! ! name ! (hours) ! name ! (T/F) ! (T/F) ! 'monthly' ! filename ! pairs ! 92 sn_tem = FLD_N( 'temperature', -1. , 'votemper', .false. , .true. , 'yearly' , '' , '' ) 93 94 REWIND( numnam ) ! read in namlist namdta_tem 103 95 READ( numnam, namdta_tem ) 104 96 … … 120 112 IF( sn_tem%ln_tint ) ALLOCATE( sf_tem(1)%fdta(jpi,jpj,jpk,2) ) 121 113 #endif 122 ! fill sf_tem with sn_tem and control print114 ! ! fill sf_tem with sn_tem and control print 123 115 CALL fld_fill( sf_tem, (/ sn_tem /), cn_dir, 'dta_tem', 'Temperature data', 'namdta_tem' ) 124 116 linit_tem = .TRUE. … … 138 130 139 131 #if defined key_tradmp 140 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN 141 ! ! ======================= 142 ! ! ORCA_R2 configuration 143 ! ! ======================= 132 IF( cp_cfg == "orca" .AND. jp_cfg == 2 ) THEN ! ORCA_R2 configuration 133 ! 144 134 ij0 = 101 ; ij1 = 109 145 135 ii0 = 141 ; ii1 = 155 … … 151 141 END DO 152 142 END DO 153 154 IF( n _cla == 1 ) THEN143 ! 144 IF( nn_cla == 1 ) THEN 155 145 ! ! New temperature profile at Gibraltar 156 146 il0 = 138 ; il1 = 138 … … 175 165 END DO 176 166 END DO 177 !178 167 ELSE 179 168 ! ! Reduced temperature at Red Sea … … 251 240 t_dta(ji,jj,ik) = (1.-zl) * t_dta(ji,jj,ik) + zl * t_dta(ji,jj,ik-1) 252 241 ENDIF 253 END DO254 END DO255 ENDIF256 257 ENDIF258 259 IF( lwp .AND. kt == nit000 ) THEN260 WRITE(numout,*) ' temperature Levitus '261 WRITE(numout,*)262 WRITE(numout,*)' level = 1'263 CALL prihre( t_dta(:,:,1 ), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )264 WRITE(numout,*)' level = ', jpk/2265 CALL prihre( t_dta(:,:,jpk/2), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )266 WRITE(numout,*)' level = ', jpkm1267 CALL prihre( t_dta(:,:,jpkm1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout )268 ENDIF269 242 END DO 243 END DO 244 ENDIF 245 ! 246 ENDIF 247 248 IF( lwp .AND. kt == nit000 ) THEN 249 WRITE(numout,*) ' temperature Levitus ' 250 WRITE(numout,*) 251 WRITE(numout,*)' level = 1' 252 CALL prihre( t_dta(:,:,1 ), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 253 WRITE(numout,*)' level = ', jpk/2 254 CALL prihre( t_dta(:,:,jpk/2), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 255 WRITE(numout,*)' level = ', jpkm1 256 CALL prihre( t_dta(:,:,jpkm1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) 257 ENDIF 258 ! 270 259 END SUBROUTINE dta_tem 271 260
Note: See TracChangeset
for help on using the changeset viewer.