- Timestamp:
- 2012-02-25T16:50:01+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/TOP_SRC/TRP/trdmod_trc.F90
r3294 r3318 11 11 !! 'key_trdtrc' 3D trend diagnostics 12 12 !!---------------------------------------------------------------------- 13 !! trd_mod_trc 13 !! trd_mod_trc : passive tracer trends 14 14 !!---------------------------------------------------------------------- 15 USE trc ! tracer definitions (trn, trb, tra, etc.)16 USE trcnam_trp 17 USE trd mod_oce18 USE trdmod_trc_oce 19 USE trdmld_trc 20 USE iom 15 USE trc ! passive tracer variables 16 USE trcnam_trp ! 17 USE trd_oce ! trends: ocean variables 18 USE trdmod_trc_oce ! definition of main arrays used for trends computations 19 USE trdmld_trc ! Mixed layer trends diag. 20 USE iom ! I/O library 21 21 22 22 IMPLICIT NONE … … 24 24 25 25 INTERFACE trd_mod_trc 26 MODULE PROCEDURE trd_mod_trc_trp, trd_mod_trc_bio26 MODULE PROCEDURE trd_mod_trc_trp, trd_mod_trc_bio 27 27 END INTERFACE 28 28 29 PUBLIC trd_mod_trc29 PUBLIC trd_mod_trc ! 30 30 31 31 !! * Substitutions … … 36 36 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 37 37 !!---------------------------------------------------------------------- 38 39 38 CONTAINS 40 39 … … 43 42 !! *** ROUTINE trd_mod_trc *** 44 43 !!---------------------------------------------------------------------- 45 INTEGER, INTENT( in ) :: kt ! time step 46 INTEGER, INTENT( in ) :: kjn ! tracer index 47 INTEGER, INTENT( in ) :: ktrd ! tracer trend index 48 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout ) :: ptrtrd ! Temperature or U trend 44 INTEGER , INTENT(in ) :: kt ! time step 45 INTEGER , INTENT(in ) :: kjn ! tracer index 46 INTEGER , INTENT(in ) :: ktrd ! tracer trend index 47 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: ptrtrd ! Temperature or U trend 48 ! 49 49 CHARACTER (len=20) :: cltra 50 50 !!---------------------------------------------------------------------- … … 62 62 ! 63 63 SELECT CASE ( ktrd ) 64 CASE ( jptra_trd_xad ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_xad, '3D', kjn ) 65 CASE ( jptra_trd_yad ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_yad, '3D', kjn ) 66 CASE ( jptra_trd_zad ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zad, '3D', kjn ) 67 CASE ( jptra_trd_ldf ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 68 CASE ( jptra_trd_bbl ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_bbl, '3D', kjn ) 69 CASE ( jptra_trd_zdf ) 70 IF( ln_trcldf_iso ) THEN 71 CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 72 ELSE 73 CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zdf, '3D', kjn ) 64 CASE ( jptra_xad ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_xad, '3D', kjn ) 65 CASE ( jptra_yad ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_yad, '3D', kjn ) 66 CASE ( jptra_zad ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zad, '3D', kjn ) 67 CASE ( jptra_ldf ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 68 CASE ( jptra_bbl ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_bbl, '3D', kjn ) 69 CASE ( jptra_zdf ) 70 IF( ln_trcldf_iso ) THEN ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_ldf, '3D', kjn ) 71 ELSE ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_zdf, '3D', kjn ) 74 72 ENDIF 75 CASE ( jptra_ trd_dmp) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_dmp , '3D', kjn )76 CASE ( jptra_ trd_nsr) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sbc , '2D', kjn )77 CASE ( jptra_ trd_sms) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sms , '3D', kjn )78 CASE ( jptra_ trd_radb) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radb, '3D', kjn )79 CASE ( jptra_ trd_radn) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radn, '3D', kjn )80 CASE ( jptra_ trd_atf) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_atf , '3D', kjn )73 CASE ( jptra_dmp ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_dmp , '3D', kjn ) 74 CASE ( jptra_nsr ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sbc , '2D', kjn ) 75 CASE ( jptra_sms ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_sms , '3D', kjn ) 76 CASE ( jptra_radb ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radb, '3D', kjn ) 77 CASE ( jptra_radn ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_radn, '3D', kjn ) 78 CASE ( jptra_atf ) ; CALL trd_mld_trc_zint( ptrtrd, jpmld_trc_atf , '3D', kjn ) 81 79 END SELECT 82 80 ! … … 86 84 ! 87 85 SELECT CASE( ktrd ) 88 CASE( jptra_ trd_xad ); WRITE (cltra,'("XAD_",16a)') ctrcnm(kjn)89 CASE( jptra_ trd_yad ); WRITE (cltra,'("YAD_",16a)') ctrcnm(kjn)90 CASE( jptra_ trd_zad ); WRITE (cltra,'("ZAD_",16a)') ctrcnm(kjn)91 CASE( jptra_ trd_ldf ); WRITE (cltra,'("LDF_",16a)') ctrcnm(kjn)92 CASE( jptra_ trd_bbl ); WRITE (cltra,'("BBL_",16a)') ctrcnm(kjn)93 CASE( jptra_ trd_zdf ); WRITE (cltra,'("ZDF_",16a)') ctrcnm(kjn)94 CASE( jptra_ trd_dmp ); WRITE (cltra,'("DMP_",16a)') ctrcnm(kjn)95 CASE( jptra_ trd_nsr ); WRITE (cltra,'("FOR_",16a)') ctrcnm(kjn)86 CASE( jptra_xad ) ; WRITE (cltra,'("XAD_",16a)') ctrcnm(kjn) 87 CASE( jptra_yad ) ; WRITE (cltra,'("YAD_",16a)') ctrcnm(kjn) 88 CASE( jptra_zad ) ; WRITE (cltra,'("ZAD_",16a)') ctrcnm(kjn) 89 CASE( jptra_ldf ) ; WRITE (cltra,'("LDF_",16a)') ctrcnm(kjn) 90 CASE( jptra_bbl ) ; WRITE (cltra,'("BBL_",16a)') ctrcnm(kjn) 91 CASE( jptra_zdf ) ; WRITE (cltra,'("ZDF_",16a)') ctrcnm(kjn) 92 CASE( jptra_dmp ) ; WRITE (cltra,'("DMP_",16a)') ctrcnm(kjn) 93 CASE( jptra_nsr ) ; WRITE (cltra,'("FOR_",16a)') ctrcnm(kjn) 96 94 END SELECT 97 CALL iom_put( cltra, ptrtrd(:,:,:) ) 95 ! 96 CALL iom_put( cltra, ptrtrd(:,:,:) ) 98 97 ! 99 98 END IF … … 101 100 END SUBROUTINE trd_mod_trc_trp 102 101 102 103 103 SUBROUTINE trd_mod_trc_bio( ptrbio, ktrd, kt ) 104 104 !!---------------------------------------------------------------------- 105 105 !! *** ROUTINE trd_mod_bio *** 106 106 !!---------------------------------------------------------------------- 107 108 INTEGER, INTENT( in ) :: kt ! time step 109 INTEGER, INTENT( in ) :: ktrd ! bio trend index 110 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( inout ) :: ptrbio ! Bio trend 107 INTEGER , INTENT(in ) :: kt ! time step 108 INTEGER , INTENT(in ) :: ktrd ! bio trend index 109 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: ptrbio ! Bio trend 111 110 !!---------------------------------------------------------------------- 112 113 CALL trd_mld_bio_zint( ptrbio, ktrd ) ! Verticaly integrated biological trends114 111 ! 112 CALL trd_mld_bio_zint( ptrbio, ktrd ) ! Verticaly integrated biological trends 113 ! 115 114 END SUBROUTINE trd_mod_trc_bio 115 116 116 #else 117 117 !!---------------------------------------------------------------------- 118 118 !! Default option : Empty module 119 119 !!---------------------------------------------------------------------- 120 121 120 INTERFACE trd_mod_trc 122 121 MODULE PROCEDURE trd_mod_trc_trp, trd_mod_trc_bio 123 122 END INTERFACE 124 125 123 CONTAINS 126 127 124 SUBROUTINE trd_mod_trc_trp( ptrtrd, kjn, ktrd, kt ) 128 125 INTEGER , INTENT( in ) :: kt ! time step
Note: See TracChangeset
for help on using the changeset viewer.