- Timestamp:
- 2017-12-26T17:32:56+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/PISCES/P4Z/p4zligand.F90
r9124 r9169 6 6 !! History : 3.6 ! 2016-03 (O. Aumont, A. Tagliabue) Quota model and reorganization 7 7 !!---------------------------------------------------------------------- 8 !! p4z_ligand 9 !! p4z_ligand_init 8 !! p4z_ligand : Compute remineralization/dissolution of organic ligands 9 !! p4z_ligand_init: Initialisation of parameters for remineralisation 10 10 !!---------------------------------------------------------------------- 11 USE oce_trc ! 12 USE trc ! 13 USE sms_pisces ! 14 USE prtctl_trc ! 11 USE oce_trc ! shared variables between ocean and passive tracers 12 USE trc ! passive tracers common variables 13 USE sms_pisces ! PISCES Source Minus Sink variables 14 USE prtctl_trc ! print control for debugging 15 15 16 16 IMPLICIT NONE … … 20 20 PUBLIC p4z_ligand_init ! called in trcsms_pisces.F90 21 21 22 !! * Shared module variables23 22 REAL(wp), PUBLIC :: rlgw !: lifetime (years) of weak ligands 24 23 REAL(wp), PUBLIC :: rlgs !: lifetime (years) of strong ligands … … 39 38 !! 40 39 !! ** Purpose : Compute remineralization/scavenging of organic ligands 41 !!42 !! ** Method : - ???43 40 !!--------------------------------------------------------------------- 44 !45 41 INTEGER, INTENT(in) :: kt, knt ! ocean time step 46 42 ! 47 43 INTEGER :: ji, jj, jk 48 44 REAL(wp) :: zlgwp, zlgwpr, zlgwr, zlablgw, zrfepa, zfepr 49 CHARACTER (len=25) :: charout45 CHARACTER (len=25) :: charout 50 46 !!--------------------------------------------------------------------- 51 47 ! 52 48 IF( ln_timing ) CALL timing_start('p4z_ligand') 53 49 ! 54 ! ------------------------------------------------------------------55 ! Remineralization of iron ligands56 ! ------------------------------------------------------------------57 50 DO jk = 1, jpkm1 58 51 DO jj = 1, jpj 59 52 DO ji = 1, jpi 53 ! 54 ! ------------------------------------------------------------------ 55 ! Remineralization of iron ligands 56 ! ------------------------------------------------------------------ 60 57 ! production from remineralisation of organic matter 61 58 zlgwp = orem(ji,jj,jk) * rlig … … 68 65 zlgwpr = prlgw * xstep * etot(ji,jj,jk) * trb(ji,jj,jk,jplgw) * (1. - fr_i(ji,jj)) 69 66 tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + zlgwp - zlgwr - zlgwpr 70 END DO 71 END DO 72 END DO 73 74 ! ---------------------------------------------------------- 75 ! Dissolution of nanoparticle Fe 76 ! ---------------------------------------------------------- 77 DO jk = 1, jpkm1 78 DO jj = 1, jpj 79 DO ji = 1, jpi 67 ! 68 ! ---------------------------------------------------------- 69 ! Dissolution of nanoparticle Fe 70 ! ---------------------------------------------------------- 80 71 ! dissolution rate is maximal in the presence of light and 81 72 ! lower in the aphotici zone … … 86 77 tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) - zfepr 87 78 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zfepr 79 ! 88 80 END DO 89 81 END DO 90 82 END DO 91 83 ! 92 84 IF(ln_ctl) THEN ! print mean trends (used for debugging) 93 85 WRITE(charout, FMT="('ligand1')") 94 86 CALL prt_ctl_trc_info(charout) 95 87 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 96 88 ENDIF 97 89 ! 98 90 IF( ln_timing ) CALL timing_stop('p4z_ligand') … … 108 100 !! 109 101 !! ** Method : Read the nampislig namelist and check the parameters 110 !! called at the first timestep111 102 !! 112 103 !! ** input : Namelist nampislig 113 !!114 104 !!---------------------------------------------------------------------- 115 105 INTEGER :: ios ! Local integer … … 117 107 NAMELIST/nampislig/ rlgw, prlgw, rlgs, rfep, rlig 118 108 !!---------------------------------------------------------------------- 119 109 ! 110 IF(lwp) THEN 111 WRITE(numout,*) 112 WRITE(numout,*) 'p4z_ligand_init : remineralization/scavenging of organic ligands' 113 WRITE(numout,*) '~~~~~~~~~~~~~~~' 114 ENDIF 120 115 REWIND( numnatp_ref ) ! Namelist nampislig in reference namelist : Pisces remineralization 121 116 READ ( numnatp_ref, nampislig, IOSTAT = ios, ERR = 901) 122 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislig in reference namelist', lwp ) 123 117 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nampislig in reference namelist', lwp ) 124 118 REWIND( numnatp_cfg ) ! Namelist nampislig in configuration namelist : Pisces remineralization 125 119 READ ( numnatp_cfg, nampislig, IOSTAT = ios, ERR = 902 ) 126 902 IF( ios /= 0 )CALL ctl_nam ( ios , 'nampislig in configuration namelist', lwp )120 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nampislig in configuration namelist', lwp ) 127 121 IF(lwm) WRITE ( numonp, nampislig ) 128 122 ! 129 123 IF(lwp) THEN ! control print 130 WRITE(numout,*) ' ' 131 WRITE(numout,*) ' Namelist parameters for ligands, nampislig' 132 WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' 133 WRITE(numout,*) ' Dissolution rate of FeP rfep =', rfep 134 WRITE(numout,*) ' Lifetime (years) of weak ligands rlgw =', rlgw 135 WRITE(numout,*) ' Remin ligand production per unit C rlig =', rlig 136 WRITE(numout,*) ' Photolysis of weak ligand prlgw =', prlgw 137 WRITE(numout,*) ' Lifetime (years) of strong ligands rlgs =', rlgs 124 WRITE(numout,*) ' Namelist : nampislig' 125 WRITE(numout,*) ' Dissolution rate of FeP rfep =', rfep 126 WRITE(numout,*) ' Lifetime (years) of weak ligands rlgw =', rlgw 127 WRITE(numout,*) ' Remin ligand production per unit C rlig =', rlig 128 WRITE(numout,*) ' Photolysis of weak ligand prlgw =', prlgw 129 WRITE(numout,*) ' Lifetime (years) of strong ligands rlgs =', rlgs 138 130 ENDIF 139 131 !
Note: See TracChangeset
for help on using the changeset viewer.