- Timestamp:
- 2016-11-30T17:56:53+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_merge_2016/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90
r4624 r7403 6 6 !! History : 2.0 ! 2007-12 (C. Ethe, G. Madec) from trcnam.cfc.h90 7 7 !!---------------------------------------------------------------------- 8 #if defined key_cfc9 !!----------------------------------------------------------------------10 !! 'key_cfc' CFC tracers11 !!----------------------------------------------------------------------12 8 !! trc_nam_cfc : CFC model initialisation 13 9 !!---------------------------------------------------------------------- 14 10 USE oce_trc ! Ocean variables 15 USE par_trc ! TOP parameters16 11 USE trc ! TOP variables 17 12 USE trcsms_cfc ! CFC specific variable 18 USE iom ! I/O manager19 13 20 14 IMPLICIT NONE 21 15 PRIVATE 16 17 CHARACTER(len=34), PUBLIC :: clname ! Input filename of CFCs atm. concentrations 22 18 23 19 PUBLIC trc_nam_cfc ! called by trcnam.F90 module … … 42 38 !! ** input : Namelist namcfc 43 39 !!---------------------------------------------------------------------- 44 INTEGER :: numnatc_ref = -1 ! Logical unit for reference CFC namelist45 INTEGER :: numnatc_cfg = -1 ! Logical unit for configuration CFC namelist46 INTEGER :: numonc = -1 ! Logical unit for output namelist47 40 INTEGER :: ios ! Local integer output status for namelist read 48 41 INTEGER :: jl, jn 49 TYPE(DIAG), DIMENSION(jp_cfc_2d) :: cfcdia2d50 42 !! 51 NAMELIST/namcfcdate/ ndate_beg, nyear_res 52 NAMELIST/namcfcdia/ cfcdia2d ! additional diagnostics 43 NAMELIST/namcfc/ ndate_beg, nyear_res, clname 53 44 !!---------------------------------------------------------------------- 54 ! ! Open namelist files 55 CALL ctl_opn( numnatc_ref, 'namelist_cfc_ref' , 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 56 CALL ctl_opn( numnatc_cfg, 'namelist_cfc_cfg' , 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 57 IF(lwm) CALL ctl_opn( numonc, 'output.namelist.cfc', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 45 ! 46 jn = jp_cfc0 - 1 47 ! Variables setting 48 IF( ln_cfc11 ) THEN 49 jn = jn + 1 50 ctrcnm (jn) = 'CFC11' 51 ctrcln (jn) = 'Chlorofluoro carbon 11 Concentration' 52 ctrcun (jn) = 'umolC/L' 53 ln_trc_ini(jn) = .false. 54 ln_trc_sbc(jn) = .false. 55 ln_trc_cbc(jn) = .false. 56 ln_trc_obc(jn) = .false. 57 ENDIF 58 ! 59 IF( ln_cfc12 ) THEN 60 jn = jn + 1 61 ctrcnm (jn) = 'CFC12' 62 ctrcln (jn) = 'Chlorofluoro carbon 12 Concentration' 63 ctrcun (jn) = 'umolC/L' 64 ln_trc_ini(jn) = .false. 65 ln_trc_sbc(jn) = .false. 66 ln_trc_cbc(jn) = .false. 67 ln_trc_obc(jn) = .false. 68 ENDIF 69 ! 70 IF( ln_sf6 ) THEN 71 jn = jn + 1 72 ctrcnm (jn) = 'SF6' 73 ctrcln (jn) = 'Sulfur hexafluoride Concentration' 74 ctrcun (jn) = 'umol/L' 75 ln_trc_ini(jn) = .false. 76 ln_trc_sbc(jn) = .false. 77 ln_trc_cbc(jn) = .false. 78 ln_trc_obc(jn) = .false. 79 ENDIF 80 ! 81 REWIND( numtrc_ref ) ! Namelist namcfcdate in reference namelist : CFC parameters 82 READ ( numtrc_ref, namcfc, IOSTAT = ios, ERR = 901) 83 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfc in reference namelist', lwp ) 58 84 59 REWIND( numnatc_ref ) ! Namelist namcfcdate in reference namelist : CFC parameters 60 READ ( numnatc_ref, namcfcdate, IOSTAT = ios, ERR = 901) 61 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdate in reference namelist', lwp ) 62 63 REWIND( numnatc_cfg ) ! Namelist namcfcdate in configuration namelist : CFC parameters 64 READ ( numnatc_cfg, namcfcdate, IOSTAT = ios, ERR = 902 ) 65 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdate in configuration namelist', lwp ) 66 IF(lwm) WRITE ( numonc, namcfcdate ) 85 REWIND( numtrc_cfg ) ! Namelist namcfcdate in configuration namelist : CFC parameters 86 READ ( numtrc_cfg, namcfc, IOSTAT = ios, ERR = 902 ) 87 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfc in configuration namelist', lwp ) 88 IF(lwm) WRITE ( numonr, namcfc ) 67 89 68 90 IF(lwp) THEN ! control print 69 WRITE(numout,*) 91 WRITE(numout,*) ' ' 92 WRITE(numout,*) ' CFCs' 93 WRITE(numout,*) ' ' 70 94 WRITE(numout,*) ' trc_nam: Read namdates, namelist for CFC chemical model' 71 95 WRITE(numout,*) ' ~~~~~~~' … … 76 100 IF(lwp) WRITE(numout,*) ' initial year (aa) nyear_beg = ', nyear_beg 77 101 ! 78 79 IF( .NOT.lk_iomput .AND. ln_diatrc ) THEN 80 ! 81 ! Namelist namcfcdia 82 ! ------------------- 83 REWIND( numnatc_ref ) ! Namelist namcfcdia in reference namelist : CFC diagnostics 84 READ ( numnatc_ref, namcfcdia, IOSTAT = ios, ERR = 903) 85 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdia in reference namelist', lwp ) 86 87 REWIND( numnatc_cfg ) ! Namelist namcfcdia in configuration namelist : CFC diagnostics 88 READ ( numnatc_cfg, namcfcdia, IOSTAT = ios, ERR = 904 ) 89 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcfcdia in configuration namelist', lwp ) 90 IF(lwm) WRITE ( numonc, namcfcdia ) 91 92 DO jl = 1, jp_cfc_2d 93 jn = jp_cfc0_2d + jl - 1 94 ctrc2d(jn) = TRIM( cfcdia2d(jl)%sname ) 95 ctrc2l(jn) = TRIM( cfcdia2d(jl)%lname ) 96 ctrc2u(jn) = TRIM( cfcdia2d(jl)%units ) 97 END DO 98 99 IF(lwp) THEN ! control print 100 WRITE(numout,*) 101 WRITE(numout,*) ' Namelist : natadd' 102 DO jl = 1, jp_cfc_2d 103 jn = jp_cfc0_2d + jl - 1 104 WRITE(numout,*) ' 2d diag nb : ', jn, ' short name : ', ctrc2d(jn), & 105 & ' long name : ', ctrc2l(jn), ' unit : ', ctrc2u(jn) 106 END DO 107 WRITE(numout,*) ' ' 108 ENDIF 109 ! 110 ENDIF 111 112 IF(lwm) CALL FLUSH ( numonc ) ! flush output namelist CFC 102 IF(lwm) CALL FLUSH ( numonr ) ! flush output namelist CFC 113 103 114 104 END SUBROUTINE trc_nam_cfc 115 105 116 #else117 !!----------------------------------------------------------------------118 !! Dummy module : No CFC119 !!----------------------------------------------------------------------120 CONTAINS121 SUBROUTINE trc_nam_cfc ! Empty routine122 END SUBROUTINE trc_nam_cfc123 #endif124 125 106 !!====================================================================== 126 107 END MODULE trcnam_cfc
Note: See TracChangeset
for help on using the changeset viewer.