File indexing completed on 2025-09-17 05:08:23 UTC
view on githubraw file Latest commit e9828181 on 2025-09-16 19:00:16 UTC
c0d1c06c15 Matt*0001 #include "BLING_OPTIONS.h"
0002
0003
0004 subroutine BLING_INIT_VARIA( myThid )
0005
0006
0007
cab777d667 Matt*0008
c0d1c06c15 Matt*0009
0010
e0f9a7ba0b Matt*0011 IMPLICIT NONE
0012
c0d1c06c15 Matt*0013
0014 #include "SIZE.h"
0015 #include "EEPARAMS.h"
0016 #include "PARAMS.h"
0017 #include "GRID.h"
54b6d6aa91 Matt*0018 #include "PTRACERS_SIZE.h"
0019 #include "PTRACERS_PARAMS.h"
c0d1c06c15 Matt*0020 #include "BLING_VARS.h"
bd32e74360 Matt*0021
c0d1c06c15 Matt*0022
0023
0024 INTEGER myThid
0025
0026
0027 #ifdef ALLOW_BLING
0028 INTEGER i,j, bi,bj
0029 INTEGER k
0030
0031
0032
0033
0034
0035 DO bj = myByLo(myThid), myByHi(myThid)
0036 DO bi = myBxLo(myThid), myBxHi(myThid)
e0f9a7ba0b Matt*0037 DO j=1-OLy,sNy+OLy
0038 DO i=1-OLx,sNx+OLx
47de7c1e0e Matt*0039 DO k = 1, Nr
c0d1c06c15 Matt*0040 omegaC(i,j,k,bi,bj) = 0. _d 0
0041 omegaAr(i,j,k,bi,bj) = 0. _d 0
0042 irr_mem(i,j,k,bi,bj) = 1. _d 0
0043 chl(i,j,k,bi,bj) = 0. _d 0
3b75ee2a42 Matt*0044 poc(i,j,k,bi,bj) = 0. _d 0
4ac06494d5 Matt*0045 phyto_sm(i,j,k,bi,bj) = 4. _d -7 / permil
0046 phyto_lg(i,j,k,bi,bj) = 4. _d -7 / permil
e0f9a7ba0b Matt*0047 #ifndef USE_BLING_V1
4ac06494d5 Matt*0048 phyto_diaz(i,j,k,bi,bj) = 4. _d -7 / permil
e0f9a7ba0b Matt*0049 #endif
c0d1c06c15 Matt*0050 ENDDO
82e538d851 aver*0051 chl_sat(i,j,bi,bj) = 0. _d 0
e0f9a7ba0b Matt*0052 gamma_POM_2d(i,j,bi,bj) = gamma_POM
0053 wsink0_2d(i,j,bi,bj) = wsink0
0054 phi_DOM_2d(i,j,bi,bj) = phi_DOM
0055 phi_sm_2d(i,j,bi,bj) = phi_sm
0056 phi_lg_2d(i,j,bi,bj) = phi_lg
e9828181c3 Yixi*0057 k0_2d(i,j,bi,bj) = k0
e0f9a7ba0b Matt*0058 Pc_0_2d(i,j,bi,bj) = Pc_0
0059 k_Fe_2d(i,j,bi,bj) = k_Fe
0060 #ifndef USE_BLING_V1
0061 k_Fe_diaz_2d(i,j,bi,bj) = k_Fe_diaz
0062 Pc_0_diaz_2d(i,j,bi,bj) = Pc_0_diaz
0063 alpha_photo_2d(i,j,bi,bj) = alpha_photo
0064 #endif
c0d1c06c15 Matt*0065 ENDDO
0066 ENDDO
0067 ENDDO
0068 ENDDO
0069
47de7c1e0e Matt*0070
e9828181c3 Yixi*0071 IF ( bling_k0_2dFile .NE. ' ' ) THEN
0072 CALL READ_FLD_XY_RL( bling_k0_2dFile, ' ',
0073 & k0_2d, 0, myThid )
0074 _EXCH_XY_RL(k0_2d,myThid)
0075 ENDIF
47de7c1e0e Matt*0076 IF ( bling_Pc_2dFile .NE. ' ' ) THEN
e0f9a7ba0b Matt*0077 CALL READ_FLD_XY_RL( bling_Pc_2dFile, ' ',
0078 & Pc_0_2d, 0, myThid )
0079 _EXCH_XY_RL(Pc_0_2d,myThid)
47de7c1e0e Matt*0080 ENDIF
0081 IF ( bling_k_Fe2dFile .NE. ' ' ) THEN
e0f9a7ba0b Matt*0082 CALL READ_FLD_XY_RL( bling_k_Fe2dFile, ' ',
0083 & k_Fe_2d, 0, myThid )
0084 _EXCH_XY_RL(k_Fe_2d,myThid)
47de7c1e0e Matt*0085 ENDIF
af8f3b9ffc Matt*0086 IF ( bling_gamma_POM2dFile .NE. ' ' ) THEN
0087 CALL READ_FLD_XY_RL( bling_gamma_POM2dFile, ' ',
e0f9a7ba0b Matt*0088 & gamma_POM_2d, 0, myThid )
0089 _EXCH_XY_RL(gamma_POM_2d,myThid)
af8f3b9ffc Matt*0090 ENDIF
0091 IF ( bling_wsink0_2dFile .NE. ' ' ) THEN
0092 CALL READ_FLD_XY_RL( bling_wsink0_2dFile, ' ',
0093 & wsink0_2d, 0, myThid )
0094 _EXCH_XY_RL(wsink0_2d,myThid)
0095 ENDIF
0096 IF ( bling_phi_DOM2dFile .NE. ' ' ) THEN
0097 CALL READ_FLD_XY_RL( bling_phi_DOM2dFile, ' ',
e0f9a7ba0b Matt*0098 & phi_DOM_2d, 0, myThid )
0099 _EXCH_XY_RL(phi_DOM_2d,myThid)
af8f3b9ffc Matt*0100 ENDIF
0101 IF ( bling_phi_sm2dFile .NE. ' ' ) THEN
0102 CALL READ_FLD_XY_RL( bling_phi_sm2dFile, ' ',
e0f9a7ba0b Matt*0103 & phi_sm_2d, 0, myThid )
0104 _EXCH_XY_RL(phi_sm_2d,myThid)
af8f3b9ffc Matt*0105 ENDIF
0106 IF ( bling_phi_lg2dFile .NE. ' ' ) THEN
0107 CALL READ_FLD_XY_RL( bling_phi_lg2dFile, ' ',
e0f9a7ba0b Matt*0108 & phi_lg_2d, 0, myThid )
0109 _EXCH_XY_RL(phi_lg_2d,myThid)
0110 ENDIF
0111 #ifndef USE_BLING_V1
0112 IF ( bling_Pc_2d_diazFile .NE. ' ' ) THEN
0113 CALL READ_FLD_XY_RL( bling_Pc_2d_diazFile,' ',
0114 & Pc_0_diaz_2d, 0, myThid)
0115 _EXCH_XY_RL(Pc_0_diaz_2d,myThid)
0116 ENDIF
0117 IF ( bling_alpha_photo2dFile .NE. ' ' ) THEN
0118 CALL READ_FLD_XY_RL( bling_alpha_photo2dFile, ' ',
0119 & alpha_photo_2d, 0, myThid )
0120 _EXCH_XY_RL(alpha_photo_2d,myThid)
0121 ENDIF
0122 IF ( bling_k_Fe_diaz2dFile .NE. ' ' ) THEN
0123 CALL READ_FLD_XY_RL( bling_k_Fe_diaz2dFile, ' ',
0124 & k_Fe_diaz_2d, 0, myThid )
0125 _EXCH_XY_RL(k_Fe_diaz_2d,myThid)
af8f3b9ffc Matt*0126 ENDIF
e0f9a7ba0b Matt*0127 #endif
47de7c1e0e Matt*0128
82e538d851 aver*0129 #ifdef ADVECT_PHYTO
0130 DO bj = myByLo(myThid), myByHi(myThid)
0131 DO bi = myBxLo(myThid), myBxHi(myThid)
0132 DO k=1,Nr
0133 DO j=1-OLy,sNy+OLy
0134 DO i=1-OLx,sNx+OLx
0135 phyto_sm(i,j,k,bi,bj) = 0.5 _d 0
0136 phyto_lg(i,j,k,bi,bj) = 0.5 _d 0
0137 phyto_diaz(i,j,k,bi,bj) = 0. _d 0
0138 ENDDO
0139 ENDDO
0140 ENDDO
0141 ENDDO
0142 ENDDO
0143 #else
0144
54b6d6aa91 Matt*0145 IF (nIter0.EQ.PTRACERS_Iter0) THEN
0146 IF ( bling_psmFile .NE. ' ' ) THEN
0147 CALL READ_FLD_XYZ_RL(bling_psmFile,' ',
0148 & phyto_sm(1-OLx,1-OLy,1,1,1),0,myThid)
0149 _EXCH_XYZ_RL(phyto_sm(1-OLx,1-OLy,1,1,1),myThid)
0150 ENDIF
0151 IF (bling_plgFile .NE. ' ' ) THEN
0152 CALL READ_FLD_XYZ_RL(bling_plgFile,' ',
0153 & phyto_lg(1-OLx,1-OLy,1,1,1),0,myThid)
0154 _EXCH_XYZ_RL(phyto_lg(1-OLx,1-OLy,1,1,1),myThid)
0155 ENDIF
e0f9a7ba0b Matt*0156 #ifndef USE_BLING_V1
54b6d6aa91 Matt*0157 IF ( bling_PdiazFile .NE. ' ' ) THEN
0158 CALL READ_FLD_XYZ_RL(bling_pdiazFile,' ',
0159 & phyto_diaz(1-OLx,1-OLy,1,1,1),0,myThid)
0160 _EXCH_XYZ_RL(phyto_diaz(1-OLx,1-OLy,1,1,1),myThid)
0161 ENDIF
e0f9a7ba0b Matt*0162 #endif
54b6d6aa91 Matt*0163 ENDIF
82e538d851 aver*0164 #endif /* ifdef ADVECT_PHYTO */
54b6d6aa91 Matt*0165
0166 DO bj = myByLo(myThid), myByHi(myThid)
0167 DO bi = myBxLo(myThid), myBxHi(myThid)
0168 DO k=1,Nr
0169 DO j=1-OLy,sNy+OLy
0170 DO i=1-OLx,sNx+OLx
0171 IF (maskC(i,j,k,bi,bj).EQ.0.) THEN
0172 phyto_sm(i,j,k,bi,bj) = 0. _d 0
0173 phyto_lg(i,j,k,bi,bj) = 0. _d 0
e0f9a7ba0b Matt*0174 #ifndef USE_BLING_V1
54b6d6aa91 Matt*0175 phyto_diaz(i,j,k,bi,bj) = 0. _d 0
e0f9a7ba0b Matt*0176 #endif
54b6d6aa91 Matt*0177 ENDIF
0178 ENDDO
0179 ENDDO
0180 ENDDO
0181 ENDDO
0182 ENDDO
0183
0184
0185
0186
0187
0188
0189
c0d1c06c15 Matt*0190 #endif /* ALLOW_BLING */
0191
0192 RETURN
0193 END