1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
|
CHARACTER(LEN=256) :: cn_output = 'CMIP6'
! Dimension name : cn_. [ 1 letter only ]
CHARACTER(LEN=256) :: cn_x='x' !: longitude, I dimension
CHARACTER(LEN=256) :: cn_y='y' !: latitude, J dimension
CHARACTER(LEN=256) :: cn_z='depth' !: depth, z dimension
CHARACTER(LEN=256) :: cn_t='time_counter' !: time dimension
! Dimension variable
CHARACTER(LEN=256) :: cn_vlon2d = 'nav_lon' !: longitude
CHARACTER(LEN=256) :: cn_vlat2d = 'nav_lat' !: latitude
CHARACTER(LEN=256) :: cn_vdeptht = 'deptht' !: depth
CHARACTER(LEN=256) :: cn_vdepthu = 'depthu' !: depth
CHARACTER(LEN=256) :: cn_vdepthv = 'depthv' !: depth
CHARACTER(LEN=256) :: cn_vdepthw = 'depthw' !: depth
CHARACTER(LEN=256) :: cn_vtimec = 'time_counter' !: time
CHARACTER(LEN=256) :: cn_vlon1d = 'lon' !: longitude 1d
CHARACTER(LEN=256) :: cn_vlat1d = 'lat' !: latitude 1d
! Attribute of a variable
CHARACTER(LEN=256) :: cn_missing_value = '_FillValue' !: missing value (to be replaced bby _Fill_Value)
! Metrics
CHARACTER(LEN=256) :: cn_ve1t='e1t', cn_ve2t='e2t' !: e.t
CHARACTER(LEN=256) :: cn_ve1u='e1u', cn_ve2u='e2u' !: e.u
CHARACTER(LEN=256) :: cn_ve1v='e1v', cn_ve2v='e2v' !: e.v
CHARACTER(LEN=256) :: cn_ve1f='e1f', cn_ve2f='e2f' !: e.v
CHARACTER(LEN=256) :: cn_ve3t1d='e3t' !: e3. (1D).
CHARACTER(LEN=256) :: cn_ve3w1d='e3w' !: e3. (1D).
CHARACTER(LEN=256) :: cn_ve3t='e3t', cn_ve3w='e3w' !: e3. ( 3D).
CHARACTER(LEN=256) :: cn_ve3u='e3u', cn_ve3v='e3v' !: e3.
! VVL case [ In CPMIP so far, only one name is used. ]
CHARACTER(LEN=256) :: cn_ve3tvvl='thkcello', cn_ve3wvvl='thkcello' !: e3. (3D).
CHARACTER(LEN=256) :: cn_ve3uvvl='thkcello', cn_ve3vvvl='thkcello' !: e3.
CHARACTER(LEN=256) :: cn_vff='ff'
CHARACTER(LEN=256) :: cn_gdept='gdept', cn_gdepw='gdepw' !: 1d dep variable
CHARACTER(LEN=256) :: cn_hdept='hdept', cn_hdepw='hdepw' !: 2d dep variable
CHARACTER(LEN=256) :: cn_depu3d='depu3d', cn_depw3d='depw3d' !: Local depth U and W in broken line extraction
CHARACTER(LEN=256) :: cn_glamt='glamt', cn_gphit='gphit' !: glam gphi
CHARACTER(LEN=256) :: cn_glamu='glamu', cn_gphiu='gphiu' !: glam gphi
CHARACTER(LEN=256) :: cn_glamv='glamv', cn_gphiv='gphiv' !: glam gphi
CHARACTER(LEN=256) :: cn_glamf='glamf', cn_gphif='gphif' !: glam gphi
! Unused. Included for nambroken definition in modcdfnames
CHARACTER(LEN=256) :: cn_dept3d='gdept_0' !: initial dept 3D
CHARACTER(LEN=256) :: cn_ve3t0='e3t_0' !: e3. (3D). (at rest)
CHARACTER(LEN=256) :: cn_ve3u0='e3u_0', cn_ve3v0='e3v_0' !: e3.
! Mask variables
CHARACTER(LEN=256) :: cn_tmask='tmask', cn_umask='umask' !: tmask, umask
CHARACTER(LEN=256) :: cn_vmask='vmask', cn_fmask='fmask' !: vmask, fmask
CHARACTER(LEN=256) :: cn_tmaskutil='tmaskutil' !: tmaskutil
CHARACTER(LEN=256) :: cn_polymask='polymask' !: polymask
CHARACTER(LEN=256) :: cn_tmaskatl='tmaskatl' !: atlantic mask in cn_fbasins
CHARACTER(LEN=256) :: cn_tmaskpac='tmaskpac' !: pacific mask in cn_fbasins
CHARACTER(LEN=256) :: cn_tmaskind='tmaskind' !: indian mask in cn_fbasins
CHARACTER(LEN=256) :: cn_tmaskant='tmaskant' !: austral mask in cn_fbasins
CHARACTER(LEN=256) :: cn_tmaskmed='tmaskmed' !: mediterranean mask in cn_fbasins
! Generic mesh-mask file names cn_f...
CHARACTER(LEN=256) :: cn_fzgr='mesh_zgr.nc'
CHARACTER(LEN=256) :: cn_fe3t='mesh_zgr.nc'
CHARACTER(LEN=256) :: cn_fe3u='mesh_zgr.nc'
CHARACTER(LEN=256) :: cn_fe3v='mesh_zgr.nc'
CHARACTER(LEN=256) :: cn_fe3w='mesh_zgr.nc'
CHARACTER(LEN=256) :: cn_fhgr='mesh_hgr.nc'
CHARACTER(LEN=256) :: cn_fmsk='mask.nc'
CHARACTER(LEN=256) :: cn_fcoo='coordinates.nc'
CHARACTER(LEN=256) :: cn_fbasins='new_maskglo.nc'
! Variable name : cn_v... [ starts with cn_v ]
CHARACTER(LEN=256) :: cn_votemper='thetao' !: temperature
CHARACTER(LEN=256) :: cn_vosaline='so' !: salinity
CHARACTER(LEN=256) :: cn_votemper2='thetao_sqd' !: squared temperature
CHARACTER(LEN=256) :: cn_vosaline2='so_sqd' !: squared salinity
CHARACTER(LEN=256) :: cn_vozocrtx='uo' !: zonal velocity
CHARACTER(LEN=256) :: cn_vomecrty='vo' !: meridional velocity
CHARACTER(LEN=256) :: cn_vozocrtx2='u2o' !: squared velocity
CHARACTER(LEN=256) :: cn_vomecrty2='v2o' !: squared velocity
CHARACTER(LEN=256) :: cn_vomeeivv='vomeeivv' !: meridional Eddy Induced Velocity ! NOT A CMIP6 VARIABLE (only eiv transport asked)
CHARACTER(LEN=256) :: cn_vovecrtz='wo' !: vertical velocity
CHARACTER(LEN=256) :: cn_vovecrtz2='w2o' !: squared vertical velocity
CHARACTER(LEN=256) :: cn_sossheig='zos' !: Dynamic Sea Surface Height
CHARACTER(LEN=256) :: cn_sossheig2='zossq' !: Squared Dynamic Sea Surface Height
CHARACTER(LEN=256) :: cn_somxldep='mlotst' !: Mixed layer depth (density criterium 0.03kg m-3, Eq H43 Griffies et al., 2016)
CHARACTER(LEN=256) :: cn_somxl010='somxl010' !: Mixed layer depth (density criterium)
CHARACTER(LEN=256) :: cn_somxlt02='somxlt02' !: Mixed layer depth (temperature criterium)
CHARACTER(LEN=256) :: cn_sozotaux='tauuo' !: Zonal wind stress
CHARACTER(LEN=256) :: cn_sohefldo='hfds' !: Total Heat FLux
CHARACTER(LEN=256) :: cn_solhflup='solhflup' !: Latent Heat FLux
CHARACTER(LEN=256) :: cn_sosbhfup='sosbhfup' !: Sensible heat Flux
CHARACTER(LEN=256) :: cn_solwfldo='solwfldo' !: Long Wave downward Heat Flux
CHARACTER(LEN=256) :: cn_soshfldo='soshfldo' !: Solar Heat FLux
CHARACTER(LEN=256) :: cn_sowaflup='sowaflup' !: Fresh Water Flux
CHARACTER(LEN=256) :: cn_sowaflcd='sowaflcd' !: Concentration Dilution water flux
CHARACTER(LEN=256) :: cn_sowafldp='sowafldp' !: SSS damping water Flux
CHARACTER(LEN=256) :: cn_sorunoff='sorunoff' !: River Run-off
CHARACTER(LEN=256) :: cn_iowaflup='iowaflup' !: Ice Ocean Water flux ( + = freezing, - = melting)
CHARACTER(LEN=256) :: cn_soicecov='soicecov' !: Ice cover
CHARACTER(LEN=256) :: cn_iicbmass='berg_mass'!: Mass of Icebergs (kg/m2)
CHARACTER(LEN=256) :: cn_iicbmelt='berg_melt'!: Melting rate of icebergs (kg/m2/s)
! MOC variables
CHARACTER(LEN=256) :: cn_zomsfatl='zomsfatl' !: moc in the Atlantic
CHARACTER(LEN=256) :: cn_zomsfglo='zomsfglo' !: moc in the Global ocean
CHARACTER(LEN=256) :: cn_zomsfpac='zomsfpac' !: moc in the Pacific
CHARACTER(LEN=256) :: cn_zomsfinp='zomsfinp' !: moc in the Indo-Pacific
CHARACTER(LEN=256) :: cn_zomsfind='zomsfind' !: moc in the Indian ocean
CHARACTER(LEN=256) :: cn_zomsfinp0='zomsfinp0' !: moc in the Indo-Pacific Net
!
CHARACTER(LEN=256) :: cn_zoisoatl='zoisoatl' !: moc in the Atlantic
CHARACTER(LEN=256) :: cn_zoisoglo='zoisoglo' !: moc in the Global ocean
CHARACTER(LEN=256) :: cn_zoisopac='zoisopac' !: moc in the Pacific
CHARACTER(LEN=256) :: cn_zoisoinp='zoisoinp' !: moc in the Indo-Pacific
CHARACTER(LEN=256) :: cn_zoisoind='zoisoind' !: moc in the Indian ocean
CHARACTER(LEN=256) :: cn_zoisoinp0='zoisoinp0' !: moc in the Indo-Pacific Net
! transport variables
CHARACTER(LEN=256) :: cn_vozout='uto' !: product U x T at U point
CHARACTER(LEN=256) :: cn_vomevt='vto' !: product V x T at V point
CHARACTER(LEN=256) :: cn_vozous='uso' !: product U x S at U point
CHARACTER(LEN=256) :: cn_vomevs='vso' !: product V x S at V point
CHARACTER(LEN=256) :: cn_sozout='sozout' !: product U x T at U point
CHARACTER(LEN=256) :: cn_somevt='somevt' !: product V x T at V point
CHARACTER(LEN=256) :: cn_sozous='sozous' !: product U x S at U point
CHARACTER(LEN=256) :: cn_somevs='somevs' !: product V x S at V point
CHARACTER(LEN=256) :: cn_sozoutrp='umo_vint' !: vertically integrated trp at U point
CHARACTER(LEN=256) :: cn_somevtrp='somevtrp' !: vertically integrated trp at V point ! NOT A CMIP6 VARIABLE
CHARACTER(LEN=256) :: cn_vouv='vouv' !: product U x V at T point
! density, isopycnal diagnostics
CHARACTER(LEN=256) :: cn_vosigma0='vosigma0' !: potential density refered to surface
CHARACTER(LEN=256) :: cn_vosigmai='vosigmai' !: potential density refered to a partiular depth
CHARACTER(LEN=256) :: cn_vosigntr='vosigntr' !: neutral density
CHARACTER(LEN=256) :: cn_vodepiso='vodepiso' !: depth of isopycnal
CHARACTER(LEN=256) :: cn_isothick='isothick' !: isopycnal tickness (from cdfsigintegr)
! Passive tracer variable
CHARACTER(LEN=256) :: cn_invcfc='INVCFC' !: CFC inventory
CHARACTER(LEN=256) :: cn_cfc11='CFC11' !: CFC concentration
CHARACTER(LEN=256) :: cn_pendep='pendep' !: CFC penetration depth (from cdfpendep)
! ice variable names
CHARACTER(LEN=256) :: cn_iicethic='iicethic' !: ice thickness
CHARACTER(LEN=256) :: cn_ileadfra='ileadfra' !: ice concentration
CHARACTER(LEN=256) :: cn_iicethic3='iicethic'!: ice thickness (LIM3)
CHARACTER(LEN=256) :: cn_ileadfra3='iiceconc'!: ice concentration (LIM3)
CHARACTER(LEN=256) :: cn_iicevelu='iicevelu' !: ice velocity U
CHARACTER(LEN=256) :: cn_iicevelv='iicevelv' !: ice velocity V
CHARACTER(LEN=256) :: cn_iicevelu3='sivelu' !: ice velocity U (LIM3)
CHARACTER(LEN=256) :: cn_iicevelv3='sivelv' !: ice velocity V (LIM3)
! Bathymetry
CHARACTER(LEN=256) :: cn_fbathymet='bathy_meter.nc' !: file Bathymetry in meters
CHARACTER(LEN=256) :: cn_fbathylev='bathy_level.nc' !: file Bathymetry in levels
CHARACTER(LEN=256) :: cn_bathymet='Bathymetry' !: variable Bathymetry in meters
CHARACTER(LEN=256) :: cn_bathylev='bathy_level'!: variable Bathymetry in levels
CHARACTER(LEN=256) :: cn_mbathy ='mbathy' !: variable mbathy in levels
! variables to be squared when performing cdfmoy
INTEGER(KIND=4), PARAMETER :: jp_sqdvarmax=10
INTEGER(KIND=4) :: nn_sqdvar = 4
INTEGER(KIND=4), PRIVATE :: ji
CHARACTER(LEN=15), DIMENSION(jp_sqdvarmax) :: cn_sqdvar = &
& (/'uo ','vo ','wo ','zos',(' ', ji=jp_sqdvarmax-5,jp_sqdvarmax) /)
! variables eligible for 3rd moment computation when performing cdfmoy
INTEGER(KIND=4), PARAMETER :: jp_cubvarmax=10
INTEGER(KIND=4) :: nn_cubvar = 2
CHARACTER(LEN=15), DIMENSION(jp_cubvarmax) :: cn_cubvar = &
& (/'zos ','thetao',(' ', ji=3,jp_cubvarmax) /)
|