- Timestamp:
- 2015-03-11T10:57:11+01:00 (9 years ago)
- Location:
- branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM
- Files:
-
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/CONFIG/ORCA2_LIM/EXP00/iodef.xml
r4696 r5137 21 21 --> 22 22 23 <file_definition type=" multiple_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4">23 <file_definition type="one_file" name="@expname@_@freq@_@startdate@_@enddate@" sync_freq="10d" min_digits="4"> 24 24 25 25 <file_group id="1ts" output_freq="1ts" output_level="10" enabled=".TRUE."/> <!-- 1 time step files --> … … 54 54 55 55 <file id="file3" name_suffix="_grid_U" description="ocean U grid variables" > 56 <field field_ref="suoce" name="uos" long_name="sea_surface_x_velocity" />57 56 <field field_ref="uoce" name="uo" long_name="sea_water_x_velocity" /> 58 57 <field field_ref="utau" name="tauuo" long_name="surface_downward_x_stress" /> … … 63 62 64 63 <file id="file4" name_suffix="_grid_V" description="ocean V grid variables" > 65 <field field_ref="svoce" name="vos" long_name="sea_surface_y_velocity" />66 64 <field field_ref="voce" name="vo" long_name="sea_water_y_velocity" /> 67 65 <field field_ref="vtau" name="tauvo" long_name="surface_downward_y_stress" /> … … 91 89 </file> 92 90 91 <file id="file7" name_suffix="_diaptr" description="diaptr variables" > 92 <field field_ref="zomsfglo" /> 93 <field field_ref="zomsfatl" /> 94 <field field_ref="zomsfpac" /> 95 <field field_ref="zomsfind" /> 96 <field field_ref="zomsfipc" /> 97 <field field_ref="zotemglo" /> 98 <field field_ref="zotematl" /> 99 <field field_ref="zotempac" /> 100 <field field_ref="zotemind" /> 101 <field field_ref="zotemipc" /> 102 <field field_ref="zosalglo" /> 103 <field field_ref="zosalatl" /> 104 <field field_ref="zosalpac" /> 105 <field field_ref="zosalind" /> 106 <field field_ref="zosalipc" /> 107 <field field_ref="zosrfglo" /> 108 <field field_ref="zosrfatl" /> 109 <field field_ref="zosrfpac" /> 110 <field field_ref="zosrfind" /> 111 <field field_ref="zosrfipc" /> 112 <field field_ref="sophtadv" /> 113 <field field_ref="sophtldf" /> 114 <field field_ref="sopstadv" /> 115 <field field_ref="sopstldf" /> 116 </file> 93 117 <!-- 94 118 <file id="file8" name_suffix="_Tides" description="tidal harmonics" > -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/CONFIG/ORCA2_LIM/cpp_ORCA2_LIM.fcm
r4990 r5137 1 bld::tool::fppkeys key_trabbl key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_zdftke key_zdfddm key_zdftmx key_iomput key_mpp_mpi key_diaobs key_asminc1 bld::tool::fppkeys key_trabbl key_lim2 key_dynspg_flt key_diaeiv key_ldfslp key_traldf_c2d key_traldf_eiv key_dynldf_c3d key_zdftke key_zdfddm key_zdftmx key_iomput key_mpp_mpi -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/CONFIG/SHARED/namelist_ref
r5023 r5137 1071 1071 !! namnc4 netcdf4 chunking and compression settings ("key_netcdf4") 1072 1072 !! namtrd dynamics and/or tracer trends 1073 !! namptr Poleward Transport Diagnostics 1073 1074 !! namflo float parameters ("key_float") 1074 1075 !! namhsb Heat and salt budgets … … 1120 1121 ln_ariane = .true. ! Input with Ariane tool convention(T) 1121 1122 ln_flo_ascii = .true. ! Output with Ariane tool netcdf convention(F) or ascii file (T) 1123 / 1124 !----------------------------------------------------------------------- 1125 &namptr ! Poleward Transport Diagnostic 1126 !----------------------------------------------------------------------- 1127 ln_diaptr = .false. ! Poleward heat and salt transport (T) or not (F) 1128 ln_subbas = .false. ! Atlantic/Pacific/Indian basins computation (T) or not 1122 1129 / 1123 1130 !----------------------------------------------------------------------- -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/CONFIG/cfg.txt
r5023 r5137 11 11 GYRE OPA_SRC 12 12 ORCA2_LIM3 OPA_SRC LIM_SRC_3 NST_SRC 13 ORCA2_LIM_PTR OPA_SRC LIM_SRC_2 NST_SRC 13 14 ORCA2_LIM OPA_SRC LIM_SRC_2 NST_SRC 14 ORCA2_LIM_PTR OPA_SRC LIM_SRC_2 NST_SRC -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r5023 r5137 37 37 PUBLIC ptr_sj ! call by tra_ldf & tra_adv routines 38 38 PUBLIC ptr_sjk ! 39 PUBLIC dia_ptr_ alloc ! call in opamodule39 PUBLIC dia_ptr_init ! call in step module 40 40 PUBLIC dia_ptr ! call in step module 41 41 … … 45 45 46 46 47 LOGICAL, PUBLIC :: l_diaptr = .TRUE. ! Poleward transport flag (T) or not (F) 48 LOGICAL :: l_subbas = .FALSE. ! Atlantic/Pacific/Indian basins calculation 49 LOGICAL :: linit = .TRUE. ! initialization flag (set to false after the 1st call) 50 INTEGER :: nptr ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T) 47 LOGICAL, PUBLIC :: ln_diaptr ! Poleward transport flag (T) or not (F) 48 LOGICAL, PUBLIC :: ln_subbas ! Atlantic/Pacific/Indian basins calculation 49 INTEGER :: nptr ! = 1 (l_subbas=F) or = 5 (glo, atl, pac, ind, ipc) (l_subbas=T) 51 50 INTEGER :: nx, ny 52 51 … … 90 89 IF( nn_timing == 1 ) CALL timing_start('dia_ptr') 91 90 92 IF( linit ) THEN93 CALL dia_ptr_init94 linit = .FALSE.95 ENDIF96 91 ! 97 92 IF( PRESENT( pvtr ) ) THEN … … 147 142 z2d(nx,:) = htr_adv(:) * rc_pwatt ! (conversion in PW) 148 143 cl1 = 'sophtadv' 144 !IF(lwp) write(numout,*) ' sophtadv : ',(z2d(nx,jj), jj=1,jpj) 149 145 CALL iom_put( TRIM(cl1), z2d ) 150 146 z2d(nx,:) = str_adv(:) * rc_ggram ! (conversion in Gg) … … 175 171 !! ** Purpose : Initialization, namelist read 176 172 !!---------------------------------------------------------------------- 177 INTEGER :: jn, inum ! local integers 178 !!---------------------------------------------------------------------- 179 180 l_diaptr = iom_use("zomsfglo") .OR. iom_use("zotemglo") .OR. iom_use("sophtadv") .OR. iom_use("sophtldf") 181 CALL iom_open( 'subbasins', inum, ldstop = .FALSE. ) 182 IF( inum > 0 ) l_subbas = .TRUE. 183 173 INTEGER :: jn ! local integers 174 INTEGER :: inum, ierr ! local integers 175 INTEGER :: ios ! Local integer output status for namelist read 176 !! 177 NAMELIST/namptr/ ln_diaptr, ln_subbas 178 !!---------------------------------------------------------------------- 179 180 REWIND( numnam_ref ) ! Namelist namptr in reference namelist : Poleward transport 181 READ ( numnam_ref, namptr, IOSTAT = ios, ERR = 901) 182 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in reference namelist', lwp ) 183 184 REWIND( numnam_cfg ) ! Namelist namptr in configuration namelist : Poleward transport 185 READ ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 186 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist', lwp ) 187 IF(lwm) WRITE ( numond, namptr ) 188 184 189 IF(lwp) THEN ! Control print 185 190 WRITE(numout,*) … … 187 192 WRITE(numout,*) '~~~~~~~~~~~~' 188 193 WRITE(numout,*) ' Namelist namptr : set ptr parameters' 189 WRITE(numout,*) ' Poleward heat & salt transport (T) or not (F) l _diaptr = ', l_diaptr190 WRITE(numout,*) ' Global (F) or glo/Atl/Pac/Ind/Indo-Pac basins l _subbas = ', l_subbas194 WRITE(numout,*) ' Poleward heat & salt transport (T) or not (F) ln_diaptr = ', ln_diaptr 195 WRITE(numout,*) ' Global (F) or glo/Atl/Pac/Ind/Indo-Pac basins ln_subbas = ', ln_subbas 191 196 ENDIF 192 197 193 IF( l _diaptr ) THEN198 IF( ln_diaptr ) THEN 194 199 ! 195 200 CALL dom_ngb( 180., 90., nx, ny, 'T' ) ! i-line that passes near the North Pole : Reference latitude (used in plots) 196 201 ! 197 IF( l _subbas ) THEN202 IF( ln_subbas ) THEN 198 203 nptr = 5 ! Global, Atlantic, Pacific, Indian, Indo-Pacific 199 204 ALLOCATE( clsubb(nptr) ) … … 212 217 IF( lk_mpp ) CALL mpp_ini_znl( numout ) ! Define MPI communicator for zonal sum 213 218 214 IF( l_subbas ) THEN ! load sub-basin mask 219 IF( ln_subbas ) THEN ! load sub-basin mask 220 CALL iom_open( 'subbasins', inum, ldstop = .FALSE. ) 215 221 CALL iom_get( inum, jpdom_data, 'atlmsk', btmsk(:,:,2) ) ! Atlantic basin 216 222 CALL iom_get( inum, jpdom_data, 'pacmsk', btmsk(:,:,3) ) ! Pacific basin -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90
r5023 r5137 118 118 CALL iom_put( "wocetr_eff", zwn ) 119 119 ! 120 IF( l _diaptr ) CALL dia_ptr( zvn ) ! diagnose the effective MSF120 IF( ln_diaptr ) CALL dia_ptr( zvn ) ! diagnose the effective MSF 121 121 ! 122 122 -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90
r5023 r5137 279 279 END IF 280 280 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 281 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN281 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 282 282 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 283 283 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90
r5023 r5137 219 219 END IF 220 220 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 221 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN221 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 222 222 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 223 223 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
r5023 r5137 200 200 201 201 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 202 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN202 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 203 203 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 204 204 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r5023 r5137 355 355 IF( l_trd ) CALL trd_tra( kt, cdtype, jn, jptra_yad, zwy, pvn, ptn(:,:,:,jn) ) 356 356 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 357 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN357 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 358 358 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 359 359 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r5023 r5137 184 184 END IF 185 185 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 186 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN186 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 187 187 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 188 188 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) … … 250 250 END IF 251 251 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 252 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN252 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 253 253 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) + htr_adv(:) 254 254 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) + str_adv(:) … … 398 398 END IF 399 399 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 400 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN400 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 401 401 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) 402 402 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) … … 524 524 END IF 525 525 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 526 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN526 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 527 527 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( zwy(:,:,:) ) + htr_adv(:) 528 528 IF( jn == jp_sal ) str_adv(:) = ptr_sj( zwy(:,:,:) ) + str_adv(:) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90
r5023 r5137 177 177 END IF 178 178 ! ! "Poleward" heat and salt transports (contribution of upstream fluxes) 179 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN179 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 180 180 IF( jn == jp_tem ) htr_adv(:) = ptr_sj( ztv(:,:,:) ) 181 181 IF( jn == jp_sal ) str_adv(:) = ptr_sj( ztv(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90
r5023 r5137 166 166 ! 167 167 ! "zonal" mean lateral diffusive heat and salt transport 168 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN168 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 169 169 IF( jn == jp_tem ) htr_ldf(:) = ptr_sj( ztv(:,:,:) ) 170 170 IF( jn == jp_sal ) str_ldf(:) = ptr_sj( ztv(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90
r5023 r5137 247 247 ! ! =============== 248 248 ! "Poleward" diffusive heat or salt transport 249 IF( cdtype == 'TRA' .AND. l _diaptr .AND. ( kaht == 2 ) ) THEN249 IF( cdtype == 'TRA' .AND. ln_diaptr .AND. ( kaht == 2 ) ) THEN 250 250 ! note sign is reversed to give down-gradient diffusive transports (#1043) 251 251 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( -zftv(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r5023 r5137 222 222 ! 223 223 ! "Poleward" diffusive heat or salt transports (T-S case only) 224 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN224 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 225 225 ! note sign is reversed to give down-gradient diffusive transports (#1043) 226 226 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( -zftv(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90
r5023 r5137 386 386 ! 387 387 ! ! "Poleward" diffusive heat or salt transports (T-S case only) 388 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN388 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 389 389 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( zftv(:,:,:) ) ! 3.3 names 390 390 IF( jn == jp_sal) str_ldf(:) = ptr_sj( zftv(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_lap.F90
r5023 r5137 148 148 ! 149 149 ! "Poleward" diffusive heat or salt transports 150 IF( cdtype == 'TRA' .AND. l _diaptr ) THEN150 IF( cdtype == 'TRA' .AND. ln_diaptr ) THEN 151 151 IF( jn == jp_tem) htr_ldf(:) = ptr_sj( ztv(:,:,:) ) 152 152 IF( jn == jp_sal) str_ldf(:) = ptr_sj( ztv(:,:,:) ) -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r5023 r5137 61 61 USE asminc ! assimilation increments 62 62 USE asmbkg ! writing out state trajectory 63 USE diaptr ! poleward transports (dia_ptr_init routine) 63 64 USE diadct ! sections transports (dia_dct_init routine) 64 65 USE diaobs ! Observation diagnostics (dia_obs_init routine) … … 438 439 IF( lk_floats ) CALL flo_init ! drifting Floats 439 440 IF( lk_diaar5 ) CALL dia_ar5_init ! ar5 diag 441 CALL dia_ptr_init ! Poleward TRansports initialization 440 442 IF( lk_diadct ) CALL dia_dct_init ! Sections tranports 441 443 CALL dia_hsb_init ! heat content, salt content and volume budgets -
branches/2015/dev_r5020_CNRS_DIAPTR/NEMOGCM/NEMO/OPA_SRC/step.F90
r5023 r5137 208 208 ! diagnostics and outputs (ua, va, tsa used as workspace) 209 209 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 210 IF( lk_floats ) CALL flo_stp( kstp ) ! drifting Floats 211 IF( lk_diahth ) CALL dia_hth( kstp ) ! Thermocline depth (20 degres isotherm depth) 212 IF( .NOT. lk_cpl ) CALL dia_fwb( kstp ) ! Fresh water budget diagnostics 213 IF( lk_diadct ) CALL dia_dct( kstp ) ! Transports 214 IF( lk_diaar5 ) CALL dia_ar5( kstp ) ! ar5 diag 215 IF( lk_diaharm ) CALL dia_harm( kstp ) ! Tidal harmonic analysis 216 CALL dia_wri( kstp ) ! ocean model: outputs 217 ! 218 IF( ln_crs ) CALL crs_fld( kstp ) ! ocean model: online field coarsening & output 219 210 IF( lk_floats ) CALL flo_stp( kstp ) ! drifting Floats 211 IF( lk_diahth ) CALL dia_hth( kstp ) ! Thermocline depth (20 degres isotherm depth) 212 IF( .NOT. lk_cpl ) CALL dia_fwb( kstp ) ! Fresh water budget diagnostics 213 IF( lk_diadct ) CALL dia_dct( kstp ) ! Transports 214 IF( lk_diaar5 ) CALL dia_ar5( kstp ) ! ar5 diag 215 IF( lk_diaharm ) CALL dia_harm( kstp ) ! Tidal harmonic analysis 216 CALL dia_wri( kstp ) ! ocean model: outputs 217 ! 218 IF( ln_crs ) CALL crs_fld( kstp ) ! ocean model: online field coarsening & output 220 219 221 220 #if defined key_top … … 244 243 CALL tra_ldf ( kstp ) ! lateral mixing 245 244 246 IF( l _diaptr) CALL dia_ptr ! Poleward adv/ldf TRansports diagnostics245 IF( ln_diaptr ) CALL dia_ptr ! Poleward adv/ldf TRansports diagnostics 247 246 248 247 #if defined key_agrif
Note: See TracChangeset
for help on using the changeset viewer.