Changeset 10362 for NEMO/trunk/src/TOP/PISCES/P4Z/p4zligand.F90
- Timestamp:
- 2018-11-30T16:38:17+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/PISCES/P4Z/p4zligand.F90
r10069 r10362 13 13 USE sms_pisces ! PISCES Source Minus Sink variables 14 14 USE prtctl_trc ! print control for debugging 15 USE iom ! I/O manager 15 16 16 17 IMPLICIT NONE … … 43 44 INTEGER :: ji, jj, jk 44 45 REAL(wp) :: zlgwp, zlgwpr, zlgwr, zlablgw, zrfepa, zfepr 46 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zligrem, zligpr, zrligprod 47 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zw3d 45 48 CHARACTER (len=25) :: charout 46 49 !!--------------------------------------------------------------------- … … 56 59 ! ------------------------------------------------------------------ 57 60 ! production from remineralisation of organic matter 58 zlgwp 61 zlgwp = orem(ji,jj,jk) * rlig 59 62 ! decay of weak ligand 60 63 ! This is based on the idea that as LGW is lower 61 64 ! there is a larger fraction of refractory OM 62 65 zlgwr = max( rlgs , rlgw * exp( -2 * (trb(ji,jj,jk,jplgw)*1e9) ) ) ! years 63 zlgwr = 1. / zlgwr * tgfunc(ji,jj,jk) * ( xstep / nyear_len(1) ) * trb(ji,jj,jk,jplgw)66 zlgwr = 1. / zlgwr * tgfunc(ji,jj,jk) * ( xstep / nyear_len(1) ) * blim(ji,jj,jk) * trb(ji,jj,jk,jplgw) 64 67 ! photochem loss of weak ligand 65 68 zlgwpr = prlgw * xstep * etot(ji,jj,jk) * trb(ji,jj,jk,jplgw) * (1. - fr_i(ji,jj)) 66 69 tra(ji,jj,jk,jplgw) = tra(ji,jj,jk,jplgw) + zlgwp - zlgwr - zlgwpr 70 zligrem(ji,jj,jk) = zlgwr 71 zligpr(ji,jj,jk) = zlgwpr 72 zrligprod(ji,jj,jk) = zlgwp 67 73 ! 68 74 ! ---------------------------------------------------------- … … 74 80 zrfepa = rfep * ( 1. - EXP( -1. * etot(ji,jj,jk) / 25. ) ) * (1.- fr_i(ji,jj)) 75 81 zrfepa = MAX( (zrfepa / 10.0), zrfepa ) ! min of 10 days lifetime 76 zfepr = rfep * xstep * trb(ji,jj,jk,jpfep)82 zfepr = rfep * xstep * trb(ji,jj,jk,jpfep) 77 83 tra(ji,jj,jk,jpfep) = tra(ji,jj,jk,jpfep) - zfepr 78 84 tra(ji,jj,jk,jpfer) = tra(ji,jj,jk,jpfer) + zfepr … … 81 87 END DO 82 88 END DO 89 ! 90 ! Output of some diagnostics variables 91 ! --------------------------------- 92 IF( lk_iomput .AND. knt == nrdttrc ) THEN 93 ALLOCATE( zw3d(jpi,jpj,jpk) ) 94 IF( iom_use( "LIGREM" ) ) THEN 95 zw3d(:,:,:) = zligrem(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 96 CALL iom_put( "LIGREM", zw3d ) 97 ENDIF 98 IF( iom_use( "LIGPR" ) ) THEN 99 zw3d(:,:,:) = zligpr(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 100 CALL iom_put( "LIGPR", zw3d ) 101 ENDIF 102 IF( iom_use( "LPRODR" ) ) THEN 103 zw3d(:,:,:) = zrligprod(:,:,:) * 1e9 * 1.e+3 * rfact2r * tmask(:,:,:) 104 CALL iom_put( "LPRODR", zw3d ) 105 ENDIF 106 DEALLOCATE( zw3d ) 107 ENDIF 83 108 ! 84 109 IF(ln_ctl) THEN ! print mean trends (used for debugging)
Note: See TracChangeset
for help on using the changeset viewer.