From 112b11ce2c80ff7e6bea2cf6d8fb0f2637c58183 Mon Sep 17 00:00:00 2001 From: Graeme MacGilchrist Date: Thu, 3 Jul 2025 12:00:16 +0100 Subject: [PATCH] Replaces deprecated np.NaN with np.nan --- oceanmixedlayers/energy.py | 28 ++++++++++++++-------------- oceanmixedlayers/energy2.py | 14 +++++++------- oceanmixedlayers/energy_Newton.py | 8 ++++---- oceanmixedlayers/extrema.py | 2 +- oceanmixedlayers/gradient.py | 6 +++--- oceanmixedlayers/holtetalley.py | 8 ++++---- oceanmixedlayers/pe_anomaly.py | 2 +- oceanmixedlayers/threshold.py | 2 +- tests/Argo_Batch.ipynb | 28 ++++++++++++++-------------- tests/Argo_Examples.ipynb | 16 ++++++++-------- 10 files changed, 57 insertions(+), 57 deletions(-) diff --git a/oceanmixedlayers/energy.py b/oceanmixedlayers/energy.py index fcee354..1950fdb 100644 --- a/oceanmixedlayers/energy.py +++ b/oceanmixedlayers/energy.py @@ -159,21 +159,21 @@ def compute_MLD(self,T_i,S_i,Rho_i,Pc,dP,Zc_i,dZ_i,energy,Debug=False): ACTIVE[np.isnan(T_i[0,...])|np.isnan(S_i[0,...])] = False FINISHED[np.isnan(T_i[0,...])|np.isnan(S_i[0,...])] = True - MLD_z = np.add(np.NaN,np.array(np.zeros(ND))) + MLD_z = np.add(np.nan,np.array(np.zeros(ND))) MLD_z[ACTIVE] = 0.0 - MLD_p = np.add(np.NaN,np.array(np.zeros(ND))) + MLD_p = np.add(np.nan,np.array(np.zeros(ND))) MLD_p[ACTIVE] = 0.0 - PE_x = np.add(np.NaN,np.array(np.zeros(ND))) + PE_x = np.add(np.nan,np.array(np.zeros(ND))) PE_x[ACTIVE] = 0.0 - PE_i = np.add(np.NaN,np.array(np.zeros(ND))) + PE_i = np.add(np.nan,np.array(np.zeros(ND))) PE_i[ACTIVE] = 0.0 - PE_i_above = np.add(np.NaN,np.array(np.zeros(ND))) + PE_i_above = np.add(np.nan,np.array(np.zeros(ND))) PE_i_above[ACTIVE] = 0.0 - MLDp = np.add(np.NaN,np.array(np.zeros(ND))) + MLDp = np.add(np.nan,np.array(np.zeros(ND))) MLDp[ACTIVE] = 0.0 - MLDz = np.add(np.NaN,np.array(np.zeros(ND))) + MLDz = np.add(np.nan,np.array(np.zeros(ND))) MLDz[ACTIVE] = 0.0 - IT_total = np.add(np.NaN,np.array(np.zeros(ND))) + IT_total = np.add(np.nan,np.array(np.zeros(ND))) IT_total[ACTIVE] = 0 z=-1 @@ -382,17 +382,17 @@ def compute_MLD(self,Zc,dZ,Rho0_layer,dRho0dz_layer,energy,CNVG_T=1.e-5,Debug=Fa ACTIVE[np.isnan(Rho0_layer[0,...])] = False FINISHED[np.isnan(Rho0_layer[0,...])] = True - MLD = np.add(np.NaN,np.array(np.zeros(ND))) + MLD = np.add(np.nan,np.array(np.zeros(ND))) MLD[ACTIVE] = 0.0 - PE_after = np.add(np.NaN,np.array(np.zeros(ND))) + PE_after = np.add(np.nan,np.array(np.zeros(ND))) PE_after[ACTIVE] = 0.0 - PE_before = np.add(np.NaN,np.array(np.zeros(ND))) + PE_before = np.add(np.nan,np.array(np.zeros(ND))) PE_before[ACTIVE] = 0.0 - PE_before_above = np.add(np.NaN,np.array(np.zeros(ND))) + PE_before_above = np.add(np.nan,np.array(np.zeros(ND))) PE_before_above[ACTIVE] = 0.0 - dz_Mixed = np.add(np.NaN,np.array(np.zeros(ND))) + dz_Mixed = np.add(np.nan,np.array(np.zeros(ND))) dz_Mixed[ACTIVE] = 0.0 - IT_total = np.add(np.NaN,np.array(np.zeros(ND))) + IT_total = np.add(np.nan,np.array(np.zeros(ND))) IT_total[ACTIVE] = 0 z=-1 diff --git a/oceanmixedlayers/energy2.py b/oceanmixedlayers/energy2.py index c190849..07be859 100644 --- a/oceanmixedlayers/energy2.py +++ b/oceanmixedlayers/energy2.py @@ -16,7 +16,7 @@ def energy_anomaly_mld_density(z_c,#Central z position relative to sea surface ( energy=1.0,#energy threshold (J/m2) threshold=1.e-5,#convergence threshold (nd) gradient=False, - mask_val=np.NaN + mask_val=np.nan ): """Computes the threshold mld with a fixed vertical coordinate""" num_coord = ptntl_rho_layer.shape[0] @@ -40,12 +40,12 @@ def energy_anomaly_mld_density(z_c,#Central z position relative to sea surface ( mask = update_mask(ptntl_rho_layer[0,...],mask_val) active_mask = ~mask - mld = np.add(np.NaN,np.zeros(shape_profs));mld[active_mask]=0.0 - delta_energy = np.add(np.NaN,np.zeros(shape_profs));delta_energy[active_mask]=0.0 - pe_mixed = np.add(np.NaN,np.zeros(shape_profs));pe_mixed[active_mask]=0.0 - pe_unmixed = np.add(np.NaN,np.zeros(shape_profs));pe_unmixed[active_mask]=0.0 - dz_mixed = np.add(np.NaN,np.zeros(shape_profs));dz_mixed[active_mask]=0.0 - iterations = np.add(np.NaN,np.zeros(shape_profs));iterations[active_mask]=0.0 + mld = np.add(np.nan,np.zeros(shape_profs));mld[active_mask]=0.0 + delta_energy = np.add(np.nan,np.zeros(shape_profs));delta_energy[active_mask]=0.0 + pe_mixed = np.add(np.nan,np.zeros(shape_profs));pe_mixed[active_mask]=0.0 + pe_unmixed = np.add(np.nan,np.zeros(shape_profs));pe_unmixed[active_mask]=0.0 + dz_mixed = np.add(np.nan,np.zeros(shape_profs));dz_mixed[active_mask]=0.0 + iterations = np.add(np.nan,np.zeros(shape_profs));iterations[active_mask]=0.0 iz=0 while(iz0): diff --git a/oceanmixedlayers/energy_Newton.py b/oceanmixedlayers/energy_Newton.py index a938db2..1f37eef 100644 --- a/oceanmixedlayers/energy_Newton.py +++ b/oceanmixedlayers/energy_Newton.py @@ -61,13 +61,13 @@ def compute_MLD(self,Zc,dZ,Rho0_layer,dRho0dz_layer,energy,CNVG_T=1.e-5,Debug=Fa ACTIVE[np.isnan(Rho0_layer[0,...])] = False FINISHED[np.isnan(Rho0_layer[0,...])] = True - MLD = np.add(np.NaN,np.array(np.zeros(ND))) + MLD = np.add(np.nan,np.array(np.zeros(ND))) MLD[ACTIVE] = 0.0 - PE_after = np.add(np.NaN,np.array(np.zeros(ND))) + PE_after = np.add(np.nan,np.array(np.zeros(ND))) PE_after[ACTIVE] = 0.0 - PE_before = np.add(np.NaN,np.array(np.zeros(ND))) + PE_before = np.add(np.nan,np.array(np.zeros(ND))) PE_before[ACTIVE] = 0.0 - IT_total = np.add(np.NaN,np.array(np.zeros(ND))) + IT_total = np.add(np.nan,np.array(np.zeros(ND))) IT_total[ACTIVE] = 0 z=-1 diff --git a/oceanmixedlayers/extrema.py b/oceanmixedlayers/extrema.py index def2df7..f2bea00 100644 --- a/oceanmixedlayers/extrema.py +++ b/oceanmixedlayers/extrema.py @@ -10,7 +10,7 @@ class extrema(): def __init__(self): pass - def maxval_mld_fixedcoord(coordinate, value, mask_val=np.NaN): + def maxval_mld_fixedcoord(coordinate, value, mask_val=np.nan): """Computes the threshold mld with a fixed vertical coordinate""" if (coordinate.shape != value.shape): diff --git a/oceanmixedlayers/gradient.py b/oceanmixedlayers/gradient.py index d465dc7..3be0322 100644 --- a/oceanmixedlayers/gradient.py +++ b/oceanmixedlayers/gradient.py @@ -10,7 +10,7 @@ def __init__(self): pass - def gradient_mld_fixedcoord(coordinate, value, critical_gradient, mask_val=np.NaN,smooth=True): + def gradient_mld_fixedcoord(coordinate, value, critical_gradient, mask_val=np.nan,smooth=True): """Computes the gradient mld with a fixed vertical coordinate""" if (coordinate.shape != value.shape): @@ -84,7 +84,7 @@ def gradient_mld_fixedcoord(coordinate, value, critical_gradient, mask_val=np.Na i_c+=1 return mld, mldi - def max_gradient(coordinate, value, critical_gradient, mask_val=np.NaN,smooth=True): + def max_gradient(coordinate, value, critical_gradient, mask_val=np.nan,smooth=True): """Computes the gradient mld with a fixed vertical coordinate""" if (coordinate.shape != value.shape): @@ -129,7 +129,7 @@ def max_gradient(coordinate, value, critical_gradient, mask_val=np.NaN,smooth=Tr return mld, mldi - def linearfit_mld_fixedcoord(coordinate, value, error_tolerance, mask_val=np.NaN,smooth=True): + def linearfit_mld_fixedcoord(coordinate, value, error_tolerance, mask_val=np.nan,smooth=True): """ Computes the mld from fiting a linear slope to the thermocline and mixed layer with a fixed vertical coordinate diff --git a/oceanmixedlayers/holtetalley.py b/oceanmixedlayers/holtetalley.py index 1713e1b..3592bce 100644 --- a/oceanmixedlayers/holtetalley.py +++ b/oceanmixedlayers/holtetalley.py @@ -30,13 +30,13 @@ def algorithm_mld(presi, sali, cnsrv_tempi, ptntl_rhoi): for zi in range(LP): LI = (MINDIFF==(pres[zi,...]-10.)**2) pres[:LP-zi,LI]=(pres[zi:,LI]) - pres[LP-zi:,LI]=np.NaN + pres[LP-zi:,LI]=np.nan sal[:LP-zi,LI]=(sal[zi:,LI]) - sal[LP-zi:,LI]=np.NaN + sal[LP-zi:,LI]=np.nan ptntl_rho[:LP-zi,LI]=(ptntl_rho[zi:,LI]) - ptntl_rho[LP-zi:,LI]=np.NaN + ptntl_rho[LP-zi:,LI]=np.nan cnsrv_temp[:LP-zi,LI]=(cnsrv_temp[zi:,LI]) - cnsrv_temp[LP-zi:,LI]=np.NaN + cnsrv_temp[LP-zi:,LI]=np.nan MINDIFF[LI]=0.0 ########################################################################## diff --git a/oceanmixedlayers/pe_anomaly.py b/oceanmixedlayers/pe_anomaly.py index 35a1ed8..72ece42 100644 --- a/oceanmixedlayers/pe_anomaly.py +++ b/oceanmixedlayers/pe_anomaly.py @@ -50,7 +50,7 @@ def compute(self,Rho0_layer,dRho0dz_layer,Zc,dZi,DPT): Rho0_Mixed = np.copy(Rho0_layer) dz_Mixed = dZ[0] - PEdelta = np.zeros(ND)+np.NaN + PEdelta = np.zeros(ND)+np.nan ACTIVE = np.ones(ND,dtype='bool') ACTIVE[np.isnan(Rho0_layer[0,...])] = False diff --git a/oceanmixedlayers/threshold.py b/oceanmixedlayers/threshold.py index c83c121..5775b92 100644 --- a/oceanmixedlayers/threshold.py +++ b/oceanmixedlayers/threshold.py @@ -9,7 +9,7 @@ class threshold(): def __init__(self): pass - def threshold_mld_fixedcoord(coordinate, value, delta=0.0, reference=0.0, mask_val=np.NaN, interp=True, interpsurf=True,absdiff=False): + def threshold_mld_fixedcoord(coordinate, value, delta=0.0, reference=0.0, mask_val=np.nan, interp=True, interpsurf=True,absdiff=False): """Computes the threshold mld with a fixed vertical coordinate""" if (coordinate.shape != value.shape): diff --git a/tests/Argo_Batch.ipynb b/tests/Argo_Batch.ipynb index 9ac6eaf..4be6ef8 100644 --- a/tests/Argo_Batch.ipynb +++ b/tests/Argo_Batch.ipynb @@ -66,11 +66,11 @@ "outputs": [], "source": [ "def mld_dataset(LP):\n", - " OUT = xr.Dataset(data_vars={'mld':(('prof'), np.add(np.NaN,np.zeros([LP]))),\n", - " 'pe_anom':(('prof'), np.add(np.NaN,np.zeros([LP]))),\n", - " 'latitude':(('prof'), np.add(np.NaN,np.zeros([LP]))),\n", - " 'longitude':(('prof'), np.add(np.NaN,np.zeros([LP]))),\n", - " 'julian_day':(('prof'), np.add(np.NaN,np.zeros([LP]))),\n", + " OUT = xr.Dataset(data_vars={'mld':(('prof'), np.add(np.nan,np.zeros([LP]))),\n", + " 'pe_anom':(('prof'), np.add(np.nan,np.zeros([LP]))),\n", + " 'latitude':(('prof'), np.add(np.nan,np.zeros([LP]))),\n", + " 'longitude':(('prof'), np.add(np.nan,np.zeros([LP]))),\n", + " 'julian_day':(('prof'), np.add(np.nan,np.zeros([LP]))),\n", " 'file':(''),\n", " 'dac':(''),\n", " 'argo_id':(''),\n", @@ -108,15 +108,15 @@ "\n", " NP = hndl.N_PROF.size\n", " NZ = hndl.N_LEVELS.size\n", - " Z_c_2d = np.zeros([NP,NZ])+np.NaN\n", - " dZ_2d = np.zeros([NP,NZ])+np.NaN\n", - " P_c_2d = np.zeros([NP,NZ])+np.NaN\n", - " dP_2d = np.zeros([NP,NZ])+np.NaN\n", - " CT_c_2d = np.zeros([NP,NZ])+np.NaN\n", - " PSal_c_2d = np.zeros([NP,NZ])+np.NaN\n", - " dRho0dz_c_2d = np.zeros([NP,NZ])+np.NaN\n", - " Rho0_c_2d = np.zeros([NP,NZ])+np.NaN\n", - " Rho_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " Z_c_2d = np.zeros([NP,NZ])+np.nan\n", + " dZ_2d = np.zeros([NP,NZ])+np.nan\n", + " P_c_2d = np.zeros([NP,NZ])+np.nan\n", + " dP_2d = np.zeros([NP,NZ])+np.nan\n", + " CT_c_2d = np.zeros([NP,NZ])+np.nan\n", + " PSal_c_2d = np.zeros([NP,NZ])+np.nan\n", + " dRho0dz_c_2d = np.zeros([NP,NZ])+np.nan\n", + " Rho0_c_2d = np.zeros([NP,NZ])+np.nan\n", + " Rho_c_2d = np.zeros([NP,NZ])+np.nan\n", " GOOD = np.zeros([NP],dtype=bool)\n", " for p in range(NP):\n", " DayQC = float(hndl.JULD_QC[p])\n", diff --git a/tests/Argo_Examples.ipynb b/tests/Argo_Examples.ipynb index 421f5e3..1b88c00 100644 --- a/tests/Argo_Examples.ipynb +++ b/tests/Argo_Examples.ipynb @@ -69,21 +69,21 @@ " # effectively mimicing an ocean model vertical grid\n", " \n", " #> Central depth of layers\n", - " Z_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " Z_c_2d = np.zeros([NP,NZ])+np.nan\n", " #> Thickness of layers\n", - " dZ_2d = np.zeros([NP,NZ])+np.NaN\n", + " dZ_2d = np.zeros([NP,NZ])+np.nan\n", " # Central pressure of layers\n", - " P_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " P_c_2d = np.zeros([NP,NZ])+np.nan\n", " # Thickness of layers in pressure space\n", - " dP_2d = np.zeros([NP,NZ])+np.NaN\n", + " dP_2d = np.zeros([NP,NZ])+np.nan\n", " # Mean conservative temperature of layer\n", - " CT_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " CT_c_2d = np.zeros([NP,NZ])+np.nan\n", " # Mean practical salinity of layer\n", - " PSal_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " PSal_c_2d = np.zeros([NP,NZ])+np.nan\n", " # Mean potential density (p=0) of layer\n", - " Rho0_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " Rho0_c_2d = np.zeros([NP,NZ])+np.nan\n", " # Gradient of potential density over layer\n", - " dRho0dz_c_2d = np.zeros([NP,NZ])+np.NaN\n", + " dRho0dz_c_2d = np.zeros([NP,NZ])+np.nan\n", " # A quality control flag for determining which floats to use\n", " GOOD = np.zeros([NP],dtype=bool)\n", " \n",