Changeset 5325 for branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90
- Timestamp:
- 2015-06-01T12:00:26+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5171_CNRS_LIM3_seaicebgc/NEMOGCM/NEMO/TOP_SRC/PISCES/trcice_pisces.F90
r5195 r5325 20 20 USE phycst ! Ocean physics parameters 21 21 USE sms_pisces ! PISCES Source Minus Sink variables 22 USE p4zsbc23 22 USE in_out_manager 24 23 … … 58 57 !!---------------------------------------------------------------------- 59 58 60 ! --- Variable declarations --- !61 TYPE TRC_I_NML !--- Ice tracer namelist structure62 REAL(wp) :: trc_ratio ! ice-ocean trc ratio63 REAL(wp) :: trc_prescr ! prescribed ice trc cc64 CHARACTER(len=2) :: ctrc_o ! choice of ocean trc cc65 END TYPE66 67 !--- Variables extracted from the68 ! namelist69 REAL(wp), DIMENSION(24) :: trc_ice_ratio, & ! ice-ocean tracer ratio70 trc_ice_prescr ! prescribed ice trc cc71 CHARACTER(len=2), DIMENSION(24) :: cn_trc_o ! choice of ocean tracer cc72 73 59 !--- Dummy variables 74 60 REAL(wp), DIMENSION(jptra,2) & … … 83 69 !!---------------------------------------------------------------------- 84 70 85 ! --- Namelist declarations --- !86 87 ! Tracer structures for individual tracers88 TYPE(TRC_I_NML) :: sn_tri_dic, sn_tri_doc, sn_tri_tal, sn_tri_oxy, &89 sn_tri_cal, sn_tri_po4, sn_tri_poc, sn_tri_goc, &90 sn_tri_bfe, &91 sn_tri_num, &92 sn_tri_sil, sn_tri_dsi, sn_tri_gsi, &93 sn_tri_phy, sn_tri_dia, sn_tri_zoo, sn_tri_mes, &94 sn_tri_fer, sn_tri_sfe, sn_tri_dfe, sn_tri_nfe, &95 sn_tri_nch, sn_tri_dch, sn_tri_no3, sn_tri_nh496 97 98 NAMELIST/nampisice/ sn_tri_dic, sn_tri_doc, sn_tri_tal, sn_tri_oxy, &99 sn_tri_cal, sn_tri_po4, sn_tri_poc, sn_tri_goc, &100 sn_tri_bfe, &101 sn_tri_num, &102 sn_tri_sil, sn_tri_dsi, sn_tri_gsi, &103 sn_tri_phy, sn_tri_dia, sn_tri_zoo, sn_tri_mes, &104 sn_tri_fer, sn_tri_sfe, sn_tri_dfe, sn_tri_nfe, &105 sn_tri_nch, sn_tri_dch, sn_tri_no3, sn_tri_nh4106 107 !!----------------------------------------------------------------------108 109 71 IF(lwp) WRITE(numout,*) 110 72 IF(lwp) WRITE(numout,*) ' trc_ice_ini_pisces: Prescribed sea ice biogeochemistry ' 111 73 IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~~~~~~' 112 113 !--------------------------------------------114 ! Read namelist115 !--------------------------------------------116 117 REWIND( numnatp_ref )118 READ( numnatp_ref, nampisice )119 120 REWIND( numnatp_cfg )121 READ( numnatp_cfg, nampisice )122 123 ! Assign namelist stuff124 trc_ice_ratio(jpdic) = sn_tri_dic%trc_ratio125 trc_ice_prescr(jpdic) = sn_tri_dic%trc_prescr126 cn_trc_o (jpdic) = sn_tri_dic%ctrc_o127 128 trc_ice_ratio(jpdoc) = sn_tri_doc%trc_ratio129 trc_ice_prescr(jpdoc) = sn_tri_doc%trc_prescr130 cn_trc_o (jpdoc) = sn_tri_doc%ctrc_o131 132 trc_ice_ratio(jptal) = sn_tri_tal%trc_ratio133 trc_ice_prescr(jptal) = sn_tri_tal%trc_prescr134 cn_trc_o (jptal) = sn_tri_tal%ctrc_o135 136 trc_ice_ratio(jpoxy) = sn_tri_oxy%trc_ratio137 trc_ice_prescr(jpoxy) = sn_tri_oxy%trc_prescr138 cn_trc_o (jpoxy) = sn_tri_oxy%ctrc_o139 140 trc_ice_ratio(jpcal) = sn_tri_cal%trc_ratio141 trc_ice_prescr(jpcal) = sn_tri_cal%trc_prescr142 cn_trc_o (jpcal) = sn_tri_cal%ctrc_o143 144 trc_ice_ratio(jppo4) = sn_tri_po4%trc_ratio145 trc_ice_prescr(jppo4) = sn_tri_po4%trc_prescr146 cn_trc_o (jppo4) = sn_tri_po4%ctrc_o147 148 trc_ice_ratio(jppoc) = sn_tri_poc%trc_ratio149 trc_ice_prescr(jppoc) = sn_tri_poc%trc_prescr150 cn_trc_o (jppoc) = sn_tri_poc%ctrc_o151 152 #if ! defined key_kriest153 trc_ice_ratio(jpgoc) = sn_tri_goc%trc_ratio154 trc_ice_prescr(jpgoc) = sn_tri_goc%trc_prescr155 cn_trc_o (jpgoc) = sn_tri_goc%ctrc_o156 157 trc_ice_ratio(jpbfe) = sn_tri_bfe%trc_ratio158 trc_ice_prescr(jpbfe) = sn_tri_bfe%trc_prescr159 cn_trc_o (jpbfe) = sn_tri_bfe%ctrc_o160 #else161 trc_ice_ratio(jpnum) = sn_tri_num%trc_ratio162 trc_ice_prescr(jpnum) = sn_tri_num%trc_prescr163 cn_trc_o (jpnum) = sn_tri_num%ctrc_o164 #endif165 166 trc_ice_ratio(jpsil) = sn_tri_sil%trc_ratio167 trc_ice_prescr(jpsil) = sn_tri_sil%trc_prescr168 cn_trc_o (jpsil) = sn_tri_sil%ctrc_o169 170 trc_ice_ratio(jpdsi) = sn_tri_dsi%trc_ratio171 trc_ice_prescr(jpdsi) = sn_tri_dsi%trc_prescr172 cn_trc_o (jpdsi) = sn_tri_dsi%ctrc_o173 174 trc_ice_ratio(jpgsi) = sn_tri_gsi%trc_ratio175 trc_ice_prescr(jpgsi) = sn_tri_gsi%trc_prescr176 cn_trc_o (jpgsi) = sn_tri_gsi%ctrc_o177 178 trc_ice_ratio(jpphy) = sn_tri_phy%trc_ratio179 trc_ice_prescr(jpphy) = sn_tri_phy%trc_prescr180 cn_trc_o (jpphy) = sn_tri_phy%ctrc_o181 182 trc_ice_ratio(jpdia) = sn_tri_dia%trc_ratio183 trc_ice_prescr(jpdia) = sn_tri_dia%trc_prescr184 cn_trc_o (jpdia) = sn_tri_dia%ctrc_o185 186 trc_ice_ratio(jpzoo) = sn_tri_zoo%trc_ratio187 trc_ice_prescr(jpzoo) = sn_tri_zoo%trc_prescr188 cn_trc_o (jpzoo) = sn_tri_zoo%ctrc_o189 190 trc_ice_ratio(jpmes) = sn_tri_mes%trc_ratio191 trc_ice_prescr(jpmes) = sn_tri_mes%trc_prescr192 cn_trc_o (jpmes) = sn_tri_mes%ctrc_o193 194 trc_ice_ratio(jpfer) = sn_tri_fer%trc_ratio195 trc_ice_prescr(jpfer) = sn_tri_fer%trc_prescr196 cn_trc_o (jpfer) = sn_tri_fer%ctrc_o197 198 trc_ice_ratio(jpsfe) = sn_tri_sfe%trc_ratio199 trc_ice_prescr(jpsfe) = sn_tri_sfe%trc_prescr200 cn_trc_o (jpsfe) = sn_tri_sfe%ctrc_o201 202 trc_ice_ratio(jpdfe) = sn_tri_dfe%trc_ratio203 trc_ice_prescr(jpdfe) = sn_tri_dfe%trc_prescr204 cn_trc_o (jpdfe) = sn_tri_dfe%ctrc_o205 206 trc_ice_ratio(jpnfe) = sn_tri_nfe%trc_ratio207 trc_ice_prescr(jpnfe) = sn_tri_nfe%trc_prescr208 cn_trc_o (jpnfe) = sn_tri_nfe%ctrc_o209 210 trc_ice_ratio(jpnch) = sn_tri_nch%trc_ratio211 trc_ice_prescr(jpnch) = sn_tri_nch%trc_prescr212 cn_trc_o (jpnch) = sn_tri_nch%ctrc_o213 214 trc_ice_ratio(jpdch) = sn_tri_dch%trc_ratio215 trc_ice_prescr(jpdch) = sn_tri_dch%trc_prescr216 cn_trc_o (jpdch) = sn_tri_dch%ctrc_o217 218 trc_ice_ratio(jpno3) = sn_tri_no3%trc_ratio219 trc_ice_prescr(jpno3) = sn_tri_no3%trc_prescr220 cn_trc_o (jpno3) = sn_tri_no3%ctrc_o221 222 trc_ice_ratio(jpnh4) = sn_tri_nh4%trc_ratio223 trc_ice_prescr(jpnh4) = sn_tri_nh4%trc_prescr224 cn_trc_o (jpnh4) = sn_tri_nh4%ctrc_o225 74 226 75 !-------------------------------------------- … … 367 216 zrs(2) = zsice_bal / zsoce_bal !! ice-ocean salinity ratio, Baltic case 368 217 369 DO jn = 1, jptra218 DO jn = jp_pcs0, jp_pcs1 370 219 IF ( trc_ice_ratio(jn) >= 0._wp ) zratio(jn,:) = trc_ice_ratio(jn) 371 220 IF ( trc_ice_ratio(jn) == -1._wp ) zratio(jn,:) = zrs(:) … … 376 225 ! Sea ice tracer concentrations 377 226 !------------------------------- 378 DO jn = 1, jptra227 DO jn = jp_pcs0, jp_pcs1 379 228 !-- Everywhere but in the Baltic 380 229 IF ( trc_ice_ratio(jn) >= -1._wp ) THEN !! no prescribed concentration … … 391 240 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 392 241 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 393 trc_i(:,:,jn) = zratio(jn,2) * trc_o(:,:,jn)242 trc_i(:,:,jn) = zratio(jn,2) * trc_o(:,:,jn) 394 243 END WHERE 395 244 ELSE !! prescribed tracer concentration in ice 396 245 WHERE( 14._wp <= glamt(:,:) .AND. glamt(:,:) <= 32._wp .AND. & 397 246 54._wp <= gphit(:,:) .AND. gphit(:,:) <= 66._wp ) 398 trc_i(:,:,jn) = trc_ice_prescr(jn)247 trc_i(:,:,jn) = trc_ice_prescr(jn) 399 248 END WHERE 400 249 ENDIF ! trc_ice_ratio
Note: See TracChangeset
for help on using the changeset viewer.