123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- MODULE sed
-
-
-
-
- #if defined key_sed
-
-
-
- USE par_sed
- USE in_out_manager
- IMPLICIT NONE
- PUBLIC
- PUBLIC sed_alloc
- USE dom_oce , ONLY : nidom => nidom
- USE dom_oce , ONLY : glamt => glamt
- USE dom_oce , ONLY : gphit => gphit
- USE dom_oce , ONLY : e3t_1d => e3t_1d
- USE dom_oce , ONLY : mbkt => mbkt
- USE dom_oce , ONLY : tmask => tmask
- USE dom_oce , ONLY : rdt => rdt
- USE dom_oce , ONLY : nyear => nyear
- USE dom_oce , ONLY : nmonth => nmonth
- USE dom_oce , ONLY : nday => nday
- USE dom_oce , ONLY : ndastp => ndastp
- USE dom_oce , ONLY : nday_year => nday_year
- USE dom_oce , ONLY : adatrj => adatrj
-
-
- #if
- USE oce , ONLY : tsn => tsn
- USE trc , ONLY : trn => trc
- USE trc , ONLY : nwritetrc => nwritetrc
- USE p4zsink , ONLY : sinking => sinking
- #if
- USE p4zsink , ONLY : sinking2 => sinking2
- #endif
- USE p4zsink , ONLY : sinkcal => sinkcal
- USE p4zsink , ONLY : sinksil => sinksil
- USE sms_pisces, ONLY : akb3 => akb3
- USE sms_pisces, ONLY : ak13 => ak13
- USE sms_pisces, ONLY : ak23 => ak23
- USE sms_pisces, ONLY : akw3 => akw3
- USE sms_pisces, ONLY : aksp => aksp
- USE sms_pisces, ONLY : borat => borat
- #endif
-
- REAL(wp), PUBLIC, DIMENSION(5) :: reac
- REAL(wp), PUBLIC :: reac_sil
- REAL(wp), PUBLIC :: reac_clay
- REAL(wp), PUBLIC :: reac_poc
- REAL(wp), PUBLIC :: reac_no3
- REAL(wp), PUBLIC :: reac_cal
- REAL(wp), PUBLIC :: sat_sil
- REAL(wp), PUBLIC :: sat_clay
- REAL(wp), PUBLIC :: so2ut
- REAL(wp), PUBLIC :: srno3
- REAL(wp), PUBLIC :: spo4r
- REAL(wp), PUBLIC :: srDnit
- REAL(wp), PUBLIC :: sthro2
- REAL(wp), PUBLIC :: pdb = 0.0112372
- REAL(wp), PUBLIC :: rc13P = 0.980
- REAL(wp), PUBLIC :: rc13Ca = 1.001
- REAL(wp), PUBLIC :: dtsed
- REAL(wp), PUBLIC :: db
- INTEGER , PUBLIC :: nitsed000
- INTEGER , PUBLIC :: nitsedend
- INTEGER , PUBLIC :: nwrised
- INTEGER , PUBLIC :: nfreq
- REAL(wp), PUBLIC :: dens
-
- REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: pwcp
- REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: pwcp0
- REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: solcp
- REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: solcp0
-
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: pwcp_dta
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rainrm_dta
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rainrm
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rainrg
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: fromsed
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: tosed
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: rloss
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: tokbot
-
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: temp
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: salt
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: press
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: raintg
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: dzdep
-
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: hipor
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: co3por
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: dz3d
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: volw3d
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: vols3d
-
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: densSW
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: borats
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: calcon2
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: akbs
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak1s
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak2s
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: akws
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak12s
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak1ps
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak2ps
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak3ps
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak12ps
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: ak123ps
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: aksis
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: aksps
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: mol_wgt
-
- REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: trc_data
-
- INTEGER , PUBLIC, SAVE :: jpoce, indoce
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: iarroce
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: epkbot
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: dzkbot
- REAL(wp), PUBLIC, DIMENSION(:,:,:), ALLOCATABLE :: tmasksed
- REAL(wp), PUBLIC, DIMENSION(:,: ), ALLOCATABLE :: sbathy
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: dz
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: por
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: por1
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: profsed
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: volw
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: vols
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: diff
- REAL(wp), PUBLIC, DIMENSION(: ), ALLOCATABLE :: rdtsed
- REAL(wp) :: dens
-
- CHARACTER( len = 80 ), DIMENSION(jptrased ) :: sedtrcl
- CHARACTER( len = 20 ), DIMENSION(jptrased ) :: sedtrcd , sedtrcu
- CHARACTER( len = 80 ), DIMENSION(jpdia3dsed) :: seddia3l
- CHARACTER( len = 20 ), DIMENSION(jpdia3dsed) :: seddia3d, seddia3u
- CHARACTER( len = 80 ), DIMENSION(jpdia2dsed) :: seddia2l
- CHARACTER( len = 20 ), DIMENSION(jpdia2dsed) :: seddia2d, seddia2u
-
- REAL(wp), PUBLIC, DIMENSION(:,:,:,:), ALLOCATABLE :: trcsedi
- REAL(wp), PUBLIC, DIMENSION(:,:,:,:), ALLOCATABLE :: flxsedi3d
- REAL(wp), PUBLIC, DIMENSION(:,:,: ), ALLOCATABLE :: flxsedi2d
- INTEGER, PUBLIC :: numsed = 27
-
- CONTAINS
- INTEGER FUNCTION sed_alloc()
-
-
-
- USE lib_mpp, ONLY: ctl_warn
-
-
- ALLOCATE( trc_dta(jpi,jpj,jdta) , &
- & epkbot(jpi,jpj), sbathy(jpi,jpj) , &
- & tmasksed(jpi,jpj,jpksed) , &
- & dz(jpksed) , por(jpksed) , por1(jpksed), profsed(jpksed) , &
- & volw(jpksed), vols(jpksed), diff(jpksed), rdtsed(jpksed) , &
- & trcsedi (jpi,jpj,jpksed,jptrased) , &
- & flxsedi3d(jpi,jpj,jpksed,jpdia3dsed) , &
- & flxsedi2d(jpi,jpj,jpksed,jpdia2dsed) , &
- & mol_wgt(jpsol), STAT=sed_alloc )
- IF( sed_alloc /= 0 ) CALL ctl_warn('sed_alloc: failed to allocate arrays')
-
- END FUNCTION sed_alloc
- #else
-
-
-
- #endif
- END MODULE sed
|