66
77
88def PolyTEOS10_bsq (particle , fieldset , time ): # pragma: no cover
9- """Calculates density based on the polyTEOS10-bsq algorithm from Appendix A.2 of
9+ """Calculates density based on the polyTEOS10-bsq algorithm from Appendix A.1 and A. 2 of
1010 https://www.sciencedirect.com/science/article/pii/S1463500315000566
1111 requires fieldset.abs_salinity and fieldset.cons_temperature Fields in the fieldset
1212 and a particle.density Variable in the ParticleSet
@@ -27,10 +27,20 @@ def PolyTEOS10_bsq(particle, fieldset, time): # pragma: no cover
2727 SA = fieldset .abs_salinity [time , particle .depth , particle .lat , particle .lon ]
2828 CT = fieldset .cons_temperature [time , particle .depth , particle .lat , particle .lon ]
2929
30- SAu = 40 * 35.16504 / 35
31- CTu = 40
30+ SAu = 40.0 * 35.16504 / 35.0
31+ CTu = 40.0
3232 Zu = 1e4
33- deltaS = 32
33+ deltaS = 32.0
34+
35+ zz = - Z / Zu
36+ R00 = 4.6494977072e01
37+ R01 = - 5.2099962525e00
38+ R02 = 2.2601900708e-01
39+ R03 = 6.4326772569e-02
40+ R04 = 1.5616995503e-02
41+ R05 = - 1.7243708991e-03
42+ r0 = (((((R05 * zz + R04 ) * zz + R03 ) * zz + R02 ) * zz + R01 ) * zz + R00 ) * zz
43+
3444 R000 = 8.0189615746e02
3545 R100 = 8.6672408165e02
3646 R200 = - 1.7864682637e03
@@ -90,4 +100,6 @@ def PolyTEOS10_bsq(particle, fieldset, time): # pragma: no cover
90100 rz2 = (R022 * tt + R112 * ss + R012 ) * tt + (R202 * ss + R102 ) * ss + R002
91101 rz1 = (((R041 * tt + R131 * ss + R031 ) * tt + (R221 * ss + R121 ) * ss + R021 ) * tt + ((R311 * ss + R211 ) * ss + R111 ) * ss + R011 ) * tt + (((R401 * ss + R301 ) * ss + R201 ) * ss + R101 ) * ss + R001 # fmt: skip
92102 rz0 = (((((R060 * tt + R150 * ss + R050 ) * tt + (R240 * ss + R140 ) * ss + R040 ) * tt + ((R330 * ss + R230 ) * ss + R130 ) * ss + R030 ) * tt + (((R420 * ss + R320 ) * ss + R220 ) * ss + R120 ) * ss + R020 ) * tt + ((((R510 * ss + R410 ) * ss + R310 ) * ss + R210 ) * ss + R110 ) * ss + R010 ) * tt + (((((R600 * ss + R500 ) * ss + R400 ) * ss + R300 ) * ss + R200 ) * ss + R100 ) * ss + R000 # fmt: skip
93- particle .density = ((rz3 * zz + rz2 ) * zz + rz1 ) * zz + rz0
103+ r = ((rz3 * zz + rz2 ) * zz + rz1 ) * zz + rz0
104+
105+ particle .density = r0 + r
0 commit comments