Changeset 2761 for trunk/NEMOGCM/NEMO/TOP_SRC
- Timestamp:
- 2011-05-03T12:49:22+02:00 (13 years ago)
- Location:
- trunk/NEMOGCM/NEMO/TOP_SRC/SED
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sed.F90
r2528 r2761 9 9 !!---------------------------------------------------------------------- 10 10 USE par_sed 11 12 11 USE in_out_manager 13 12 14 USE dom_oce , ONLY : & 15 nidom => nidom , & !: 16 glamt => glamt , & !: longitude of t-point (degre) 17 gphit => gphit , & !: latitude of t-point (degre) 18 e3t_0 => e3t_0 , & !: reference depth of t-points (m) 19 mbkt => mbkt , & !: vertical index of the bottom last T- ocean level 20 tmask => tmask , & !: land/ocean mask at t-points 21 rdt => rdt !: time step for the dynamics 13 IMPLICIT NONE 14 PUBLIC 22 15 23 nyear => nyear , & !: Current year 24 nmonth => nmonth , & !: Current month 25 nday => nday , & !: Current day 26 ndastp => ndastp , & !: time step date in year/month/day aammjj 27 nday_year => nday_year, & !: curent day counted from jan 1st of the current year 28 adatrj => adatrj !: number of elapsed days since the begining of the run 16 PUBLIC sed_alloc 17 18 USE dom_oce , ONLY : nidom => nidom !: 19 USE dom_oce , ONLY : glamt => glamt !: longitude of t-point (degre) 20 USE dom_oce , ONLY : gphit => gphit !: latitude of t-point (degre) 21 USE dom_oce , ONLY : e3t_0 => e3t_0 !: reference depth of t-points (m) 22 USE dom_oce , ONLY : mbkt => mbkt !: vertical index of the bottom last T- ocean level 23 USE dom_oce , ONLY : tmask => tmask !: land/ocean mask at t-points 24 USE dom_oce , ONLY : rdt => rdt !: time step for the dynamics 25 USE dom_oce , ONLY : nyear => nyear !: Current year 26 USE dom_oce , ONLY : nmonth => nmonth !: Current month 27 USE dom_oce , ONLY : nday => nday !: Current day 28 USE dom_oce , ONLY : ndastp => ndastp !: time step date in year/month/day aammjj 29 USE dom_oce , ONLY : nday_year => nday_year !: curent day counted from jan 1st of the current year 30 USE dom_oce , ONLY : adatrj => adatrj !: number of elapsed days since the begining of the run 29 31 ! !: it is the accumulated duration of previous runs 30 32 ! !: that may have been run with different time steps. 31 33 32 33 34 #if ! defined key_sed_off 34 35 35 USE oce , ONLY : & 36 tsn => tsn & !: pot. temperature (celsius) and salinity (psu) 36 USE oce , ONLY : tsn => tsn !: pot. temperature (celsius) and salinity (psu) 37 37 38 USE trc, ONLY : & 39 trn , & !: tracer 40 nwritetrc !: outputs frequency of tracer model 38 USE trc , ONLY : trn => trc !: tracer 39 USE trc , ONLY : nwritetrc => nwritetrc !: outputs frequency of tracer model 41 40 42 USE p4zsink, ONLY : & 43 sinking , & !: sinking flux for POC 41 USE p4zsink , ONLY : sinking => sinking !: sinking flux for POC 44 42 #if ! defined key_kriest 45 sinking2 , &!: sinking flux for GOC43 USE p4zsink , ONLY : sinking2 => sinking2 !: sinking flux for GOC 46 44 #endif 47 sinkcal , & !: sinking flux for calcite48 sinksil!: sinking flux for opal ( dsi )45 USE p4zsink , ONLY : sinkcal => sinkcal !: sinking flux for calcite 46 USE p4zsink , ONLY : sinksil => sinksil !: sinking flux for opal ( dsi ) 49 47 50 USE sms_pisces, ONLY : & 51 akb3 , & 52 ak13 , & 53 ak23 , & 54 akw3 , & 55 aksp , & 56 borat 48 USE sms_pisces, ONLY : akb3 => akb3 !: Chemical constants 49 USE sms_pisces, ONLY : ak13 => ak13 !: Chemical constants 50 USE sms_pisces, ONLY : ak23 => ak23 !: Chemical constants 51 USE sms_pisces, ONLY : akw3 => akw3 !: Chemical constants 52 USE sms_pisces, ONLY : aksp => aksp !: Chemical constants 53 USE sms_pisces, ONLY : borat => borat !: Chemical constants ( borat ) 57 54 58 55 #endif 59 56 60 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpdta) :: &61 trc_data !: tracer data to share with sediment model62 57 63 INTEGER, PUBLIC :: & 64 nitsed000, nitsedend, nwrised, nfreq 58 !! Namelist 59 REAL(wp), PUBLIC, DIMENSION(5) :: reac !: reactivity rc in [l.mol-1.s-1] 60 REAL(wp), PUBLIC :: reac_sil !: reactivity of silicate in [l.mol-1.s-1] 61 REAL(wp), PUBLIC :: reac_clay !: reactivity of clay in [l.mol-1.s-1] 62 REAL(wp), PUBLIC :: reac_poc !: reactivity of poc in [l.mol-1.s-1] 63 REAL(wp), PUBLIC :: reac_no3 !: reactivity of no3 in [l.mol-1.s-1] 64 REAL(wp), PUBLIC :: reac_cal !: reactivity of cal in [l.mol-1.s-1] 65 REAL(wp), PUBLIC :: sat_sil !: saturation concentration for silicate in [mol.l-1] 66 REAL(wp), PUBLIC :: sat_clay !: saturation concentration for clay in [mol.l-1] 67 REAL(wp), PUBLIC :: so2ut 68 REAL(wp), PUBLIC :: srno3 69 REAL(wp), PUBLIC :: spo4r 70 REAL(wp), PUBLIC :: srDnit 71 REAL(wp), PUBLIC :: sthro2 !: threshold O2 concen. in [mol.l-1] 72 REAL(wp), PUBLIC :: pdb = 0.0112372 !: 13C/12C in PD Belemnite 73 REAL(wp), PUBLIC :: rc13P = 0.980 !: 13C/12C in POC = rc13P*PDB 74 REAL(wp), PUBLIC :: rc13Ca = 1.001 !: 13C/12C in CaCO3 = rc13Ca*PDB 75 REAL(wp), PUBLIC :: dtsed !: sedimentation time step 76 REAL(wp), PUBLIC :: db !: bioturb coefficient in [cm2.s-1] 65 77 66 REAL(wp), PUBLIC, DIMENSION(:,:,:) , ALLOCATABLE :: & 67 pwcp , & !: pore water sediment data at given time-step 68 pwcp0 !: pore water sediment data at initial time 69 70 REAL(wp), PUBLIC, DIMENSION(:,:,:) , ALLOCATABLE :: & 71 solcp , & !: solid sediment data at given time-step 72 solcp0 !: solid sediment at initial time 78 INTEGER , PUBLIC :: nitsed000 79 INTEGER , PUBLIC :: nitsedend 80 INTEGER , PUBLIC :: nwrised 81 INTEGER , PUBLIC :: nfreq 82 REAL(wp), PUBLIC :: dens !: density of solid material 83 ! 84 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: pwcp !: pore water sediment data at given time-step 85 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: pwcp0 !: pore water sediment data at initial time 86 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: solcp !: solid sediment data at given time-step 87 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: solcp0 !: solid sediment data at initial time 73 88 74 89 !! * Shared module variables 75 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: & 76 pwcp_dta !: pore water data at given time-step 90 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: pwcp_dta !: pore water data at given time-step 91 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rainrm_dta !: rain data at at initial time 92 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rainrm !: rain data at given time-step 93 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rainrg !: rain of each solid component in [g/(cm**2.s)] 94 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: fromsed !: 95 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: tosed !: 96 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rloss !: 97 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: tokbot 98 ! 99 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: temp !: temperature 100 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: salt !: salinity 101 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: press !: pressure 102 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: raintg !: total massic flux rained in each cell (sum of sol. comp.) 103 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: dzdep !: total thickness of solid material rained [cm] in each cell 104 ! 105 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: hipor !: [h+] in mol/kg*densSW 106 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: co3por !: [co3--]solid sediment at initial time 107 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: dz3d !: ??? 108 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: volw3d !: ??? 109 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: vols3d !: ??? 77 110 78 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: &79 rainrm_dta, & !: rain data at at initial time80 rainrm , & !: rain data at given time-step81 rainrg , & !: rain of each solid component in [g/(cm**2.s)]82 fromsed , & !:83 tosed , & !:84 rloss !:85 86 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: &87 tokbot !:88 89 REAL(wp), PUBLIC, DIMENSION(:) , ALLOCATABLE :: &90 temp , & !: temperature91 salt , & !: salinity92 press , & !: pressure93 raintg, & !: total massic flux rained in each cell (sum of sol. comp.)94 dzdep !: total thickness of solid material rained [cm] in each cell95 96 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: &97 hipor , & !: [h+] in mol/kg*densSW98 co3por !: [co3--]solid sediment at initial time99 100 REAL(wp), PUBLIC, DIMENSION(jpsol) :: &101 mol_wgt !: molecular weight of solid sediment data102 103 104 !! Geometry105 INTEGER, PUBLIC, SAVE :: &106 jpoce , & !: sediment points107 indoce108 109 INTEGER , PUBLIC, DIMENSION(:) , ALLOCATABLE :: & !:110 iarroce !: ! Computation of 1D array of sediments points111 112 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: &113 epkbot !: ocean bottom layer thickness114 115 REAL(wp), PUBLIC, DIMENSION(:) , ALLOCATABLE :: &116 dzkbot !: ocean bottom layer thickness in meters117 118 REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpksed) :: &119 tmasksed !: sediment mask120 121 REAL(wp), PUBLIC, DIMENSION(jpi,jpj) :: &122 sbathy123 124 REAL(wp), PUBLIC, DIMENSION(jpksed) :: &125 dz , & !: sediment layers thickness126 por , & !: porosity profile127 por1 , & !: 1 - por128 profsed , & !: depth of middle of each layer129 volw , & !: volume of pore water cell fraction130 vols , & !: volume of solid cell fraction131 diff , & !: diffusion ceofficient132 rdtsed !:133 134 REAL(wp), PUBLIC, DIMENSION(:,:) , ALLOCATABLE :: &135 dz3d , & !:136 volw3d , & !:137 vols3d !:138 139 REAL(wp) :: &140 dens !: density of solid material141 142 !! Namelist143 REAL(wp), PUBLIC, DIMENSION(5) :: &144 reac !: reactivity rc in [l.mol-1.s-1]145 146 REAL(wp), PUBLIC :: &147 sat_sil, & !: saturation concentration for silicate in [mol.l-1]148 sat_clay, & !: clay149 reac_sil, & !: reactivity rc in [l.mol-1.s-1]150 reac_clay, &151 reac_poc, &152 reac_no3, &153 reac_cal154 155 REAL(wp), PUBLIC :: &156 so2ut , & !:157 srno3 , & !:158 spo4r , & !:159 srDnit , & !:160 sthro2 !: threshold O2 concen. in [mol.l-1]161 162 REAL(wp), PUBLIC :: &163 pdb = 0.0112372, & !: 13C/12C in PD Belemnite164 rc13P = 0.980 , & !: 13C/12C in POC = rc13P*PDB165 rc13Ca = 1.001 !: 13C/12C in CaCO3 = rc13Ca*PDB166 167 REAL(wp) , PUBLIC :: &168 dtsed , & !: sedimentation time step169 db !: bioturb coefficient in [cm2.s-1]170 111 171 112 !! Chemistry 172 REAL(wp), PUBLIC, DIMENSION(:) , ALLOCATABLE :: & 173 densSW , & 174 borats , & 175 calcon2, & 176 akbs , & 177 ak1s , & 178 ak2s , & 179 akws , & 180 ak12s , & 181 ak1ps , & 182 ak2ps , & 183 ak3ps , & 184 ak12ps , & 185 ak123ps, & 186 aksis , & 187 aksps 113 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: densSW 114 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: borats 115 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: calcon2 116 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: akbs 117 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak1s 118 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak2s 119 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: akws 120 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak12s 121 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak1ps 122 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak2ps 123 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak3ps 124 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak12ps 125 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak123ps 126 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: aksis 127 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: aksps 188 128 129 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: mol_wgt !: molecular weight of solid sediment data 130 131 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: trc_data !: tracer data to share with sediment model 132 !! Geometry 133 INTEGER , PUBLIC, SAVE :: jpoce, indoce !: Ocean points ( number/indices ) 134 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: iarroce !: Computation of 1D array of sediments points 135 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: epkbot !: ocean bottom layer thickness 136 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: dzkbot !: ocean bottom layer thickness in meters 137 REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: tmasksed !: sediment mask 138 REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: sbathy !: bathymetry 139 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: dz !: sediment layers thickness 140 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: por !: porosity profile 141 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: por1 !: 1-por 142 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: profsed !: depth of middle of each layer 143 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: volw !: volume of pore water cell fraction 144 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: vols !: volume of solid cell fraction 145 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: diff !: diffusion ceofficient 146 REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: rdtsed !: sediment model time-step 147 REAL(wp) :: dens !: density of solid material 189 148 !! Inputs / Outputs 190 CHARACTER( len = 80 ), DIMENSION(jptrased) :: & 191 sedtrcl 192 CHARACTER( len = 20 ), DIMENSION(jptrased) :: & 193 sedtrcd , sedtrcu 149 CHARACTER( len = 80 ), DIMENSION(jptrased ) :: sedtrcl 150 CHARACTER( len = 20 ), DIMENSION(jptrased ) :: sedtrcd , sedtrcu 151 CHARACTER( len = 80 ), DIMENSION(jpdia3dsed) :: seddia3l 152 CHARACTER( len = 20 ), DIMENSION(jpdia3dsed) :: seddia3d, seddia3u 153 CHARACTER( len = 80 ), DIMENSION(jpdia2dsed) :: seddia2l 154 CHARACTER( len = 20 ), DIMENSION(jpdia2dsed) :: seddia2d, seddia2u 155 ! 156 REAL(wp), PUBLIC, DIMENSION(:,:,:,:), ALLOCATABLE :: trcsedi 157 REAL(wp), PUBLIC, DIMENSION(:,:,:,:), ALLOCATABLE :: flxsedi3d 158 REAL(wp), PUBLIC, DIMENSION(:,:,: ), ALLOCATABLE :: flxsedi2d 194 159 195 CHARACTER( len = 80 ), DIMENSION(jpdia3dsed) :: & 196 seddia3l 197 CHARACTER( len = 20 ), DIMENSION(jpdia3dsed) :: & 198 seddia3d , seddia3u 160 INTEGER, PUBLIC :: numsed = 27 ! units 199 161 200 CHARACTER( len = 80 ), DIMENSION(jpdia2dsed) :: & 201 seddia2l 202 CHARACTER( len = 20 ), DIMENSION(jpdia2dsed) :: & 203 seddia2d , seddia2u 162 CONTAINS 204 163 205 REAL(wp), DIMENSION(jpi,jpj,jpksed,jptrased) :: & 206 trcsedi 207 REAL(wp), DIMENSION(jpi,jpj,jpksed,jpdia3dsed) :: & 208 flxsedi3d 209 REAL(wp), DIMENSION(jpi,jpj,jpdia2dsed) :: & 210 flxsedi2d 164 INTEGER FUNCTION sed_alloc() 165 !!------------------------------------------------------------------- 166 !! *** ROUTINE sed_alloc *** 167 !!------------------------------------------------------------------- 168 USE lib_mpp, ONLY: ctl_warn 169 !!------------------------------------------------------------------- 170 ! 171 ALLOCATE( trc_dta(jpi,jpj,jdta) , & 172 & epkbot(jpi,jpj), sbathy(jpi,jpj) , & 173 & tmasksed(jpi,jpj,jpksed) , & 174 & dz(jpksed) , por(jpksed) , por1(jpksed), profsed(jpksed) , & 175 & volw(jpksed), vols(jpksed), diff(jpksed), rdtsed(jpksed) , & 176 & trcsedi (jpi,jpj,jpksed,jptrased) , & 177 & flxsedi3d(jpi,jpj,jpksed,jpdia3dsed) , & 178 & flxsedi2d(jpi,jpj,jpksed,jpdia2dsed) , & 179 & mol_wgt(jpsol), STAT=sed_alloc ) 211 180 212 !! Units 213 INTEGER, PUBLIC :: & 214 numsed = 27 181 IF( sed_alloc /= 0 ) CALL ctl_warn('sed_alloc: failed to allocate arrays') 182 ! 183 END FUNCTION sed_alloc 184 215 185 #else 216 186 !!====================================================================== -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedadv.F90
r2528 r2761 14 14 15 15 !! * Module variable 16 INTEGER, PARAMETER :: & 17 nztime = jpksed ! number of time step between sunrise and sunset 18 ! 19 20 REAL(wp), DIMENSION(jpksed), SAVE :: & 21 dvolsp, dvolsm, & 22 c2por, ckpor 23 24 REAL(wp), SAVE :: & 25 por1clay , & 26 cpor 27 28 REAL(wp) :: & 29 eps = 1.e-13 16 INTEGER, PARAMETER :: nztime = jpksed ! number of time step between sunrise and sunset 17 18 REAL(wp), DIMENSION(jpksed), SAVE :: dvolsp, dvolsm 19 REAL(wp), DIMENSION(jpksed), SAVE :: c2por, ckpor 20 21 REAL(wp) :: cpor 22 REAL(wp) :: por1clay 23 REAL(wp) :: eps = 1.e-13 30 24 31 25 CONTAINS … … 52 46 kt ! time step 53 47 ! * local variables 54 55 INTEGER :: & 56 ji, jk, js 57 58 INTEGER :: & 59 jn, ntimes, ikwneg 48 INTEGER :: ji, jk, js 49 INTEGER :: jn, ntimes, ikwneg 60 50 61 REAL(wp), DIMENSION(jpksed,jpsol) :: zsolcpno 62 REAL(wp), DIMENSION(jpksed) :: zfilled, zfull, zfromup, zempty 63 51 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zsolcpno 52 REAL(wp), DIMENSION(: ), ALLOCATABLE :: zfilled, zfull, zfromup, zempty 64 53 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zgap, zwb 65 REAL(wp), DIMENSION(jpoce,jpsol) :: zrainrf 66 54 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zrainrf 67 55 REAL(wp), DIMENSION(nztime) :: zraipush 68 56 69 REAL(wp) :: & 70 zkwnup, zkwnlo, zfrac, & 71 zfromce, zrest 72 57 REAL(wp) :: zkwnup, zkwnlo, zfrac, zfromce, zrest 73 58 74 59 !------------------------------------------------------------------------ … … 93 78 ENDIF 94 79 95 96 ALLOCATE( z gap (jpoce,jpksed) ) ; ALLOCATE( zwb(jpoce,jpksed) )97 80 ALLOCATE( zsolcpno(jpksed,jpsol), zrainrf(jpoce,jpsol) ) 81 ALLOCATE( zfilled(jpksed), zfull(jpksed), zfromup(jpksed), zempty(jpksed) ) 82 ALLOCATE( zgap (jpoce,jpksed) , zwb(jpoce,jpksed) ) 98 83 99 84 ! Initialization of data for mass balance calculation … … 438 423 raintg(:) = 0. 439 424 440 441 DEALLOCATE( zgap ) ; DEALLOCATE( zwb ) 425 DEALLOCATE( zsolcpno ) 426 DEALLOCATE( zrainrf ) 427 DEALLOCATE( zfilled ) 428 DEALLOCATE( zfull ) 429 DEALLOCATE( zfromup ) 430 DEALLOCATE( zempty ) 431 DEALLOCATE( zgap ) 432 DEALLOCATE( zwb ) 442 433 443 434 -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedbtb.F90
r2528 r2761 28 28 !!---------------------------------------------------------------------- 29 29 !!* Arguments 30 INTEGER, INTENT(in) :: & 31 kt ! time step 30 INTEGER, INTENT(in) :: kt ! time step 32 31 33 32 ! * local variables 34 35 INTEGER :: & 36 ji, jk, js 37 38 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: & 39 zsol ! solution 33 INTEGER :: ji, jk, js 34 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: zsol ! solution 40 35 !------------------------------------------------------------------------ 41 36 -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedchem.F90
r2528 r2761 163 163 DATA Ddsw / 999.842594 , 6.793952E-2 , -9.095290E-3, 1.001685E-4, -1.120083E-6, 6.536332E-9/ 164 164 165 166 !! * Module variables167 REAL(wp), DIMENSION(jpi,jpj,10) :: &168 chem_data169 170 165 CONTAINS 171 166 … … 181 176 !!---------------------------------------------------------------------- 182 177 !!* Arguments 183 INTEGER, INTENT(in) :: & 184 kt ! time step 178 INTEGER, INTENT(in) :: kt ! time step 185 179 186 180 #if ! defined key_sed_off 187 INTEGER :: & 188 ji, jj, ikt 189 190 REAL(wp) :: & 191 ztkel, ztc, ztc2, zpres, ztr , & 192 zsal, zsal2, zsqrt, zsal15 , & 193 zis, zis2, zisqrt , & 194 zdens0, zaw, zbw, zcw , & 195 zbuf1, zbuf2 , & 196 zcpexp, zcpexp2 , & 197 zck1p, zck2p, zck3p, zcksi 198 199 REAL(wp), DIMENSION(jpi,jpj,6) :: & 200 zchem_data 181 INTEGER :: ji, jj, ikt 182 REAL(wp) :: ztkel, ztc, ztc2, zpres, ztr 183 REAL(wp) :: zsal, zsal2, zsqrt, zsal15 184 REAL(wp) :: zis, zis2, zisqrt 185 REAL(wp) :: zdens0, zaw, zbw, zcw 186 REAL(wp) :: zbuf1, zbuf2 187 REAL(wp) :: zcpexp, zcpexp2 188 REAL(wp) :: zck1p, zck2p, zck3p, zcksi 189 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zchem_data 201 190 202 191 #endif … … 213 202 #else 214 203 ! reading variables 215 zchem_data(:,:,:) = 0. 204 ALLOCATE( zchem_data(jpi,jpj,6) ) ; zchem_data(:,:,:) = 0. 205 216 206 DO jj = 1,jpj 217 207 DO ji = 1, jpi … … 234 224 CALL pack_arr ( jpoce, aksps (1:jpoce), zchem_data(1:jpi,1:jpj,5), iarroce(1:jpoce) ) 235 225 CALL pack_arr ( jpoce, borats(1:jpoce), zchem_data(1:jpi,1:jpj,6), iarroce(1:jpoce) ) 226 227 DEALLOCATE( zchem_data ) 236 228 237 229 DO ji = 1, jpoce … … 320 312 calcon2(ji) = 0.01028 * ( salt(ji) / 35. ) * densSW(ji) 321 313 ENDDO 314 315 322 316 #endif 323 317 … … 337 331 !!---------------------------------------------------------------------- 338 332 !! * Local declarations 339 INTEGER :: & 340 ji 341 342 REAL(wp) :: & 343 ztkel, ztc, ztc2, zpres, ztr , & 344 zsal, zsal2, zsqrt, zsal15 , & 345 zis, zis2, zisqrt , & 346 zdens0, zaw, zbw, zcw , & 347 zchl, zst, zft, zbuf1, zbuf2 , & 348 zcpexp, zcpexp2 , & 349 zckb, zck1, zck2, zckw , & 350 zck1p, zck2p, zck3p, zcksi , & 351 zak1, zak2, zakb, zakw , & 352 zaksp0, zksp, zks, zkf 333 INTEGER :: ji 334 335 REAL(wp) :: ztkel, ztc, ztc2, zpres, ztr 336 REAL(wp) :: zsal, zsal2, zsqrt, zsal15 337 REAL(wp) :: zis, zis2, zisqrt 338 REAL(wp) :: zdens0, zaw, zbw, zcw 339 REAL(wp) :: zchl, zst, zft, zbuf1, zbuf2 340 REAL(wp) :: zcpexp, zcpexp2 341 REAL(wp) :: zckb, zck1, zck2, zckw 342 REAL(wp) :: zck1p, zck2p, zck3p, zcksi 343 REAL(wp) :: zak1, zak2, zakb, zakw 344 REAL(wp) :: zaksp0, zksp, zks, zkf 353 345 354 346 -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedco3.F90
r2528 r2761 17 17 18 18 !! * Module variables 19 REAL(wp) :: & !! 20 epsmax = 1.e-12 ! convergence limite value 19 REAL(wp) :: epsmax = 1.e-12 ! convergence limite value 21 20 22 21 !!---------------------------------------------------------------------- … … 44 43 !!---------------------------------------------------------------------- 45 44 !! * Arguments 46 INTEGER, INTENT(in) :: & 47 kt ! time step 45 INTEGER, INTENT(in) :: kt ! time step 48 46 49 47 ! 50 48 !---Local variables 51 INTEGER :: & 52 jiter, ji, jk, ipt ! dummy loop indices 53 54 INTEGER :: & 55 itermax , & ! maximum number of Newton-Raphson iterations 56 itime ! number of time to perform Newton-Raphson algorithm 57 58 LOGICAL :: & 59 lconv = .FALSE. ! flag for convergence 60 61 REAL(wp) :: & 62 brems ! relaxation. parameter 63 64 REAL(wp) :: & ! temporay variables 65 zresm, zresm1, zhipor_min , & 66 zalk, zbor, zsil, zpo4, zdic, & 67 zh_old, zh_old2, zh_old3, zh_old4, & 68 zuu, zvv, zduu, zdvv , & 69 zup, zvp, zdup, zdvp , & 70 zah_old, zah_olds, & 71 zh_new, zh_new2, & 72 zco3 73 49 INTEGER :: jiter, ji, jk, ipt ! dummy loop indices 50 51 INTEGER :: itermax ! maximum number of Newton-Raphson iterations 52 INTEGER :: itime ! number of time to perform Newton-Raphson algorithm 53 LOGICAL :: lconv = .FALSE. ! flag for convergence 54 REAL(wp) :: brems ! relaxation. parameter 55 REAL(wp) :: zresm, zresm1, zhipor_min 56 REAL(wp) :: zalk, zbor, zsil, zpo4, zdic 57 REAL(wp) :: zh_old, zh_old2, zh_old3, zh_old4 58 REAL(wp) :: zuu, zvv, zduu, zdvv 59 REAL(wp) :: zup, zvp, zdup, zdvp 60 REAL(wp) :: zah_old, zah_olds 61 REAL(wp) :: zh_new, zh_new2, zco3 74 62 75 63 !!---------------------------------------------------------------------- -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/seddsr.F90
r2528 r2761 14 14 !! * Module variables 15 15 16 REAL(wp), DIMENSION(:), PUBLIC, ALLOCATABLE :: & 17 cons_o2 , & 18 cons_no3 , & 19 sour_no3 , & 20 sour_c13 21 22 REAL(wp), DIMENSION(jpsol), PUBLIC :: & 23 dens_mol_wgt 24 16 REAL(wp), DIMENSION(:), ALLOCATABLE, PUBLIC :: cons_o2 17 REAL(wp), DIMENSION(:), ALLOCATABLE, PUBLIC :: cons_no3 18 REAL(wp), DIMENSION(:), ALLOCATABLE, PUBLIC :: sour_no3 19 REAL(wp), DIMENSION(:), ALLOCATABLE, PUBLIC :: sour_c13 20 REAL(wp), DIMENSION(:), ALLOCATABLE, PUBLIC :: dens_mol_wgt ! molecular density 21 25 22 CONTAINS 26 23 … … 49 46 INTEGER, INTENT(in) :: kt ! number of iteration 50 47 ! --- local variables 51 INTEGER :: & 52 ji, jk, js, jw 53 54 INTEGER :: & 55 nv ! number of variables in linear tridiagonal eq 56 57 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: & 58 zrearat, & ! reaction rate in pore water 59 zundsat ! undersaturation ; indice jpwatp1 is for calcite 60 61 REAL(wp), DIMENSION(:) , ALLOCATABLE :: & ! temp. variables 62 zmo2_0 , zmo2_1 , & ! mass balance calculation 63 zmno3_0, zmno3_1, zmno3_2, & 64 zmc13_0, zmc13_1, zmc13_2, zmc13_3 65 66 REAL(wp), DIMENSION(:,:,:) , ALLOCATABLE :: & ! temp. variables 67 zvolc 68 69 REAL(wp) :: & 70 zsolid1, zsolid2, zsolid3, & 71 zvolw, zreasat 72 48 INTEGER :: ji, jk, js, jw ! dummy looop indices 49 INTEGER :: nv ! number of variables in linear tridiagonal eq 50 51 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zrearat ! reaction rate in pore water 52 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zundsat ! undersaturation ; indice jpwatp1 is for calcite 53 REAL(wp), DIMENSION(: ), ALLOCATABLE :: zmo2_0, zmo2_1 ! temp. array for mass balance calculation 54 REAL(wp), DIMENSION(: ), ALLOCATABLE :: zmno3_0, zmno3_1, zmno3_2 55 REAL(wp), DIMENSION(: ), ALLOCATABLE :: zmc13_0, zmc13_1, zmc13_2, zmc13_3 56 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zvolc ! temp. variables 57 REAL(wp) :: zsolid1, zsolid2, zsolid3, zvolw, zreasat 58 73 59 !! 74 60 !!---------------------------------------------------------------------- … … 77 63 WRITE(numsed,*) ' sed_dsr : Dissolution reaction ' 78 64 WRITE(numsed,*) ' ' 65 ! 66 ALLOCATE( dens_mol_wgt((jpoce) ) 79 67 dens_mol_wgt(1:jpsol) = dens / mol_wgt(1:jpsol) 80 68 ! 81 69 ALLOCATE( cons_o2 (jpoce) ) ; ALLOCATE( cons_no3(jpoce) ) 82 70 ALLOCATE( sour_no3(jpoce) ) ; ALLOCATE( sour_c13(jpoce) ) 83 84 71 ENDIF 85 72 -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/seddta.F90
r2528 r2761 17 17 18 18 !! * Module variables 19 REAL(wp), DIMENSION(:), ALLOCATABLE :: & 20 smask ! mask for sediments points 21 22 REAL(wp) :: & 23 rsecday , & ! number of second per a day 24 conv1 , & ! [m/day]--->[cm/s] 25 conv2 ! [kg/m2/month]-->[g/cm2/s] ( 1 month has 30 days ) 26 27 INTEGER :: & 28 numbio 19 REAL(wp), DIMENSION(:), ALLOCATABLE :: smask ! mask for sediments points 20 REAL(wp) :: rsecday ! number of second per a day 21 REAL(wp) :: conv1 ! [m/day]--->[cm/s] 22 REAL(wp) :: conv2 ! [kg/m2/month]-->[g/cm2/s] ( 1 month has 30 days ) 23 24 INTEGER :: numbio 29 25 30 26 #if defined key_sed_off 31 INTEGER :: & 32 numoce 27 INTEGER :: numoce 33 28 #endif 34 29 … … 53 48 54 49 !! Arguments 55 INTEGER, INTENT(in) :: & 56 kt 50 INTEGER, INTENT(in) :: kt ! time-step 57 51 58 52 !! * Local declarations 59 53 INTEGER :: ji, jj, js, jw, ikt 60 54 61 REAL(wp) , DIMENSION (jpi,jpj):: zdta55 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: zdta 62 56 #if ! defined key_kriest 63 REAL(wp) , DIMENSION (:), ALLOCATABLE :: zdtap, zdtag57 REAL(wp), DIMENSION(:) , ALLOCATABLE :: zdtap, zdtag 64 58 #endif 65 59 … … 90 84 91 85 ! Compute sediment mask 86 ALLOCATE( zdta(jpi,jpj) ) 92 87 DO jj = 1, jpj 93 88 DO ji = 1, jpi … … 104 99 #if ! defined key_kriest 105 100 ! Initialization of temporaries arrays 106 ALLOCATE( zdtap 107 ALLOCATE( zdtag 101 ALLOCATE( zdtap(jpoce) ) ; zdtap(:) = 0. 102 ALLOCATE( zdtag(jpoce) ) ; zdtag(:) = 0. 108 103 #endif 109 104 … … 255 250 256 251 252 DEALLOCATE( zdta ) 257 253 #if ! defined key_kriest 258 254 DEALLOCATE( zdtap ) ; DEALLOCATE( zdtag ) -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedini.F90
r2715 r2761 79 79 INTEGER :: numblt 80 80 INTEGER :: nummsh 81 REAL(wp) , DIMENSION(jpi,jpj) :: zdta81 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zdta 82 82 #endif 83 83 !!---------------------------------------------------------------------- … … 99 99 WRITE(numsed,*) ' sed_init : Initialization of sediment module ' 100 100 WRITE(numsed,*) ' ' 101 102 ! ! Allocate LOBSTER arrays 103 IF( sed_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sed_ini: unable to allocate sediment model arrays' ) 104 101 105 102 106 ! Determination of sediments number of points and allocate global variables … … 118 122 119 123 ! bottom layer thickness 124 ALLOCATE( zdta(jpi,jpj) ) 120 125 CALL iom_get ( numblt, jpdom_data, 'E3TBOT', zdta(:,:) ) 121 126 epkbot(:,:) = 0. … … 129 134 CALL iom_close( nummsh ) 130 135 CALL iom_close( numblt ) 136 137 DEALLOCATE( zdta ) 131 138 #else 132 139 -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedmat.F90
r2528 r2761 47 47 !!---------------------------------------------------------------------- 48 48 !! * Arguments 49 INTEGER , INTENT(in) :: & 50 nvar , & ! number of variables 51 ndim , & ! number of points 52 nlev ! number of sediment levels 53 54 REAL(wp), DIMENSION(ndim,nlev,nvar), INTENT(in) :: & 55 preac ! reaction rates 56 57 REAL(wp), DIMENSION(ndim,nlev,nvar), INTENT(inout) :: & 58 psol ! solution ( undersaturation values ) 59 60 49 INTEGER , INTENT(in) :: nvar ! number of variables 50 INTEGER , INTENT(in) :: ndim ! number of points 51 INTEGER , INTENT(in) :: nlev ! number of sediment levels 52 53 REAL(wp), DIMENSION(ndim,nlev,nvar), INTENT(in ) :: preac ! reaction rates 54 REAL(wp), DIMENSION(ndim,nlev,nvar), INTENT(inout) :: psol ! solution ( undersaturation values ) 55 61 56 !---Local declarations 62 INTEGER :: & 63 ji, jk, jn 64 57 INTEGER :: ji, jk, jn 65 58 REAL(wp), DIMENSION(ndim,nlev) :: za, zb, zc, zr 66 59 REAL(wp), DIMENSION(ndim) :: zbet 67 60 REAL(wp), DIMENSION(ndim,nmax) :: zgamm 68 61 69 REAL(wp) :: & 70 aplus,aminus , & 71 rplus,rminus , & 72 dxplus,dxminus 62 REAL(wp) :: aplus,aminus 63 REAL(wp) :: rplus,rminus 64 REAL(wp) :: dxplus,dxminus 73 65 74 66 !---------------------------------------------------------------------- -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedmbc.F90
r2528 r2761 20 20 21 21 !! * Module variables 22 REAL(wp), DIMENSION(jpsol) :: & 23 rain_tot , & ! 24 fromsed_tot , & ! 25 tosed_tot , & ! 26 rloss_tot ! 27 28 REAL(wp), DIMENSION(jpwat) :: & 29 diss_in_tot , & ! 30 diss_out_tot ! 31 32 REAL(wp) :: & 33 cons_tot_o2 , & ! 34 sour_tot_no3 , & ! 35 cons_tot_no3 , & ! 36 sour_tot_c13 ! 37 38 REAL(wp) :: & 39 src13p , & 40 src13ca 22 REAL(wp), DIMENSION(jpsol) :: rain_tot ! total input rain 23 REAL(wp), DIMENSION(jpsol) :: fromsed_tot ! tota input from sediment 24 REAL(wp), DIMENSION(jpsol) :: tosed_tot ! total output from sediment 25 REAL(wp), DIMENSION(jpsol) :: rloss_tot ! total rain loss 26 27 REAL(wp), DIMENSION(jpwat) :: diss_in_tot ! total input in pore water 28 REAL(wp), DIMENSION(jpwat) :: diss_out_tot ! total output from pore water 29 30 REAL(wp) :: cons_tot_o2 ! cumulative o2 consomation 31 REAL(wp) :: sour_tot_no3 ! cumulative no3 source 32 REAL(wp) :: cons_tot_no3 ! cumulative no3 consomation 33 REAL(wp) :: sour_tot_c13 ! cumulative o2 source 34 35 REAL(wp) :: src13p 36 REAL(wp) :: src13ca 41 37 42 38 CONTAINS … … 60 56 61 57 !! Arguments 62 INTEGER, INTENT(in) :: & 63 kt 58 INTEGER, INTENT(in) :: kt ! time step 64 59 65 60 !! local declarations 66 INTEGER :: & 67 ji, js, jw, jk 68 69 REAL(wp) :: & 70 zinit, zfinal, & 71 zinput, zoutput 72 73 REAL(wp) :: & 74 zdsw, zvol 75 76 REAL, DIMENSION(jpsol) :: & 77 zsolcp_inv_i, zsolcp_inv_f 78 79 REAL, DIMENSION(jpwat) :: & 80 zpwcp_inv_i, zpwcp_inv_f 81 82 REAL(wp) :: & 83 zdelta_sil, zdelta_clay, & 84 zdelta_co2, zdelta_oxy, & 85 zdelta_po4, zdelta_no3, & 86 zdelta_c13, zdelta_c13b 61 INTEGER :: ji,js, jw, jk 62 REAL(wp) :: zinit, zfinal 63 REAL(wp) :: zinput, zoutput 64 REAL(wp) :: zdsw, zvol 65 REAL, DIMENSION(jpsol) :: zsolcp_inv_i, zsolcp_inv_f 66 REAL, DIMENSION(jpwat) :: zpwcp_inv_i, zpwcp_inv_f 67 REAL(wp) :: zdelta_sil, zdelta_clay 68 REAL(wp) :: zdelta_co2, zdelta_oxy 69 REAL(wp) :: zdelta_po4, zdelta_no3 70 REAL(wp) :: zdelta_c13, zdelta_c13b 87 71 88 72 !!---------------------------------------------------------------------- -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedrst.F90
r2528 r2761 43 43 44 44 !! * local declarations 45 INTEGER :: & 46 ji, jk, jn 47 REAL(wp), DIMENSION(jpi,jpj,jpksed,jptrased) :: & 48 zdta 49 50 REAL(wp), DIMENSION(jpi,jpj,jpksed,2) :: & 51 zdta1 52 53 REAL(wp), DIMENSION(:,:), ALLOCATABLE :: & 54 zhipor 55 45 INTEGER :: ji, jk, jn 46 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) :: zdta 47 REAL(wp), ALLOCATABLE, DIMENSION(:,:,: ) :: zdta1 48 REAL(wp), ALLOCATABLE, DIMENSION(:,: ) :: zhipor 56 49 REAL(wp) :: zkt 57 50 CHARACTER(len = 20) :: cltra … … 65 58 WRITE(numsed,*) ' ' 66 59 67 ALLOCATE( z hipor(jpoce,jpksed) )60 ALLOCATE( zdta(jpi,jpj,jpksed,jptrased), zdta1(jpi,jpj,jpksed,2), zhipor(jpoce,jpksed) ) 68 61 69 62 IF ( jprstlib == jprstdimg ) THEN … … 144 137 pwcp (1:jpoce,1,:) = 0. 145 138 139 DEALLOCATE( zdta ) 140 DEALLOCATE( zdta1 ) 146 141 DEALLOCATE( zhipor ) 147 142 … … 162 157 INTEGER, INTENT(in) :: kt ! number of iteration 163 158 !! * local declarations 164 165 CHARACTER (len=50) :: clname,cln 166 167 INTEGER :: & 168 ic,jc,jn, & 169 itime 170 171 REAL(wp) :: & 172 zdate0 173 174 REAL(wp), DIMENSION(1) :: & 175 zinfo 176 177 CHARACTER(len = 20) :: cltra 178 179 INTEGER :: ji, jk 159 INTEGER :: ji, jk 160 INTEGER :: ic, jc, jn, itime 161 REAL(wp) :: zdate0 162 REAL(wp), DIMENSION(1) :: zinfo 163 CHARACTER(len=50) :: clname,cln 164 CHARACTER(len=20) :: cltra 180 165 REAL(wp), DIMENSION(:,:) , ALLOCATABLE :: zdta 181 166 !! ----------------------------------------------------------------------- -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedsfc.F90
r2528 r2761 25 25 !!---------------------------------------------------------------------- 26 26 !!* Arguments 27 INTEGER, INTENT(in) :: & 28 kt ! time step 27 INTEGER, INTENT(in) :: kt ! time step 29 28 30 29 ! * local variables 31 INTEGER :: & 32 ji, jj, ikt ! dummy loop indices 33 30 INTEGER :: ji, jj, ikt ! dummy loop indices 34 31 35 32 !------------------------------------------------------------------------ -
trunk/NEMOGCM/NEMO/TOP_SRC/SED/sedwri.F90
r2528 r2761 7 7 USE sed 8 8 USE sedarr 9 USE ioipsl 10 USE dianam ! build name of file (routine) 9 11 10 12 IMPLICIT NONE … … 13 15 !! * Accessibility 14 16 PUBLIC sed_wri 17 18 INTEGER :: nised 19 INTEGER :: nhorised 20 INTEGER :: ndimt52 21 INTEGER :: ndimt51 22 INTEGER :: ndepsed 23 REAL(wp) :: zjulian 24 INTEGER, ALLOCATABLE, SAVE, DIMENSION(:) :: ndext52 25 INTEGER, ALLOCATABLE, SAVE, DIMENSION(:) :: ndext51 15 26 16 27 CONTAINS … … 28 39 !! ! 06-07 (C. Ethe) original 29 40 !!---------------------------------------------------------------------- 30 !! * Local variables31 USE ioipsl32 USE dianam ! build name of file (routine)33 41 34 42 INTEGER, INTENT(in) :: kt 35 43 36 44 CHARACTER(len = 60) :: clhstnam, clop 37 INTEGER , SAVE :: nised, nhorised, ndimt52, ndimt51, ndepsed 38 REAL(wp), SAVE :: zjulian 39 INTEGER , DIMENSION(jpij*jpksed) , SAVE :: ndext52 40 INTEGER , DIMENSION(jpij) , SAVE :: ndext51 45 INTEGER :: ji, jk, js, jw, jn 41 46 REAL(wp) :: zsto,zout, zdt 42 INTEGER :: iimi, iima, ijmi, ijma,ipk, it, itmod 43 INTEGER :: jn 47 INTEGER :: iimi, iima, ijmi, ijma,ipk, it, itmod 44 48 CHARACTER(len = 20) :: cltra , cltrau 45 49 CHARACTER(len = 80) :: cltral 46 47 INTEGER :: ji, jk, js, jw48 50 REAL(wp) :: zrate 49 REAL(wp), DIMENSION(:,:) , ALLOCATABLE:: zdta, zflx51 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zdta, zflx 50 52 51 53 !!------------------------------------------------------------------- … … 54 56 ! Initialisation 55 57 ! ----------------- 56 58 IF( kt == nit000 ) ALLOCATE( ndext52(jpij*jpksed), ndext51(jpij) ) 57 59 58 60 ! Define frequency of output and means
Note: See TracChangeset
for help on using the changeset viewer.