Skip to content

Commit c2d6fb4

Browse files
committed
Update: uncertainty of PP model parameters
1 parent f5a8f73 commit c2d6fb4

File tree

2 files changed

+190
-32
lines changed

2 files changed

+190
-32
lines changed

doc/doc.ipynb

Lines changed: 182 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@
4747
" data=data,\n",
4848
" xlabel=\"normalized error\",\n",
4949
" ylabel=\"probability density\",\n",
50-
" fn=f\"hist-{title}\",\n",
50+
" fn=f\"hist-res-{title}\",\n",
5151
" title=title,\n",
52+
" plot_size=(4.8, 3.6),\n",
5253
" bins=11,\n",
5354
" hist_range=(-5.5, 5.5),\n",
5455
" density=True,\n",
@@ -70,6 +71,7 @@
7071
" ylabel=\"probability density\",\n",
7172
" fn=f\"hist-mean-{title}\",\n",
7273
" title=title,\n",
74+
" plot_size=(4.8, 3.6),\n",
7375
" bins=11,\n",
7476
" hist_range=(-1.1, 1.1),\n",
7577
" density=True,\n",
@@ -91,6 +93,7 @@
9193
" ylabel=\"probability density\",\n",
9294
" fn=f\"hist-std-{title}\",\n",
9395
" title=title,\n",
96+
" plot_size=(4.8, 3.6),\n",
9497
" bins=9,\n",
9598
" hist_range=(0.1, 1.9),\n",
9699
" density=True,\n",
@@ -112,7 +115,8 @@
112115
" ylabel=\"probability density\",\n",
113116
" fn=f\"hist-range-{title}\",\n",
114117
" title=title,\n",
115-
" bins=30,\n",
118+
" plot_size=(4.8, 3.6),\n",
119+
" bins=15,\n",
116120
" hist_range=(0.0, 6.0),\n",
117121
" density=True,\n",
118122
" )\n",
@@ -138,7 +142,8 @@
138142
" fig = WorldPlot().plot(\n",
139143
" data=data.mean(dims),\n",
140144
" title=title,\n",
141-
" fn=f\"mean-{title}\",\n",
145+
" fn=f\"map-mean-{title}\",\n",
146+
" plot_size=(9.6, 3.6),\n",
142147
" cbar_label=\"mean normalized error\",\n",
143148
" vmin=vmin,\n",
144149
" vmax=vmax,\n",
@@ -167,7 +172,8 @@
167172
" fig = WorldPlot().plot(\n",
168173
" data=data.std(dims),\n",
169174
" title=title,\n",
170-
" fn=f\"std-{title}\",\n",
175+
" fn=f\"map-std-{title}\",\n",
176+
" plot_size=(9.6, 3.6),\n",
171177
" cbar_label=\"std. dev. normalized errors\",\n",
172178
" vmin=vmin,\n",
173179
" vmax=vmax,\n",
@@ -188,7 +194,6 @@
188194
" data,\n",
189195
" dims: str | list[str],\n",
190196
" title: str,\n",
191-
" show: bool = False,\n",
192197
" vmin=1.0,\n",
193198
" vmax=5.0,\n",
194199
" x: str | None = None,\n",
@@ -197,8 +202,8 @@
197202
" fig = WorldPlot().plot(\n",
198203
" data=(data.max(dim=dims) - data.min(dim=dims)),\n",
199204
" title=title,\n",
200-
" fn=f\"range-{title}\",\n",
201-
" show=show,\n",
205+
" fn=f\"map-range-{title}\",\n",
206+
" plot_size=(9.6, 3.6),\n",
202207
" cbar_label=\"range of normalized errors\",\n",
203208
" vmin=vmin,\n",
204209
" vmax=vmax,\n",
@@ -211,9 +216,11 @@
211216
{
212217
"cell_type": "markdown",
213218
"id": "10",
214-
"metadata": {},
219+
"metadata": {
220+
"jp-MarkdownHeadingCollapsed": true
221+
},
215222
"source": [
216-
"# ESA SCOPE exchange (D. J. Ford)"
223+
"# ESA SCOPE carbonate system (D. J. Ford)"
217224
]
218225
},
219226
{
@@ -343,7 +350,9 @@
343350
{
344351
"cell_type": "markdown",
345352
"id": "17",
346-
"metadata": {},
353+
"metadata": {
354+
"jp-MarkdownHeadingCollapsed": true
355+
},
347356
"source": [
348357
"# ESA CCI Ocean Colour"
349358
]
@@ -472,6 +481,36 @@
472481
" \"bias\": \"aph_665_bias\",\n",
473482
" \"rmsd\": \"aph_665_rmsd\",\n",
474483
" },\n",
484+
" \"atot_412\": {\n",
485+
" \"name\": \"Total absorption coefficient (412 nm)\",\n",
486+
" \"bias\": \"aph_412_bias\",\n",
487+
" \"rmsd\": \"aph_412_rmsd\",\n",
488+
" },\n",
489+
" \"atot_443\": {\n",
490+
" \"name\": \"Total absorption coefficient (443 nm)\",\n",
491+
" \"bias\": \"aph_443_bias\",\n",
492+
" \"rmsd\": \"aph_443_rmsd\",\n",
493+
" },\n",
494+
" \"atot_490\": {\n",
495+
" \"name\": \"Total absorption coefficient (490 nm)\",\n",
496+
" \"bias\": \"aph_490_bias\",\n",
497+
" \"rmsd\": \"aph_490_rmsd\",\n",
498+
" },\n",
499+
" \"atot_510\": {\n",
500+
" \"name\": \"Total absorption coefficient (510 nm)\",\n",
501+
" \"bias\": \"aph_510_bias\",\n",
502+
" \"rmsd\": \"aph_510_rmsd\",\n",
503+
" },\n",
504+
" \"atot_560\": {\n",
505+
" \"name\": \"Total absorption coefficient (560 nm)\",\n",
506+
" \"bias\": \"aph_560_bias\",\n",
507+
" \"rmsd\": \"aph_560_rmsd\",\n",
508+
" },\n",
509+
" \"atot_665\": {\n",
510+
" \"name\": \"Total absorption coefficient (665 nm)\",\n",
511+
" \"bias\": \"aph_665_bias\",\n",
512+
" \"rmsd\": \"aph_665_rmsd\",\n",
513+
" },\n",
475514
" \"kd_490\": {\n",
476515
" \"name\": \"Attenuation coefficent (490 nm)\",\n",
477516
" \"bias\": \"kd_490_bias\",\n",
@@ -561,7 +600,9 @@
561600
{
562601
"cell_type": "markdown",
563602
"id": "24",
564-
"metadata": {},
603+
"metadata": {
604+
"jp-MarkdownHeadingCollapsed": true
605+
},
565606
"source": [
566607
"# GHRSST"
567608
]
@@ -680,7 +721,9 @@
680721
{
681722
"cell_type": "markdown",
682723
"id": "31",
683-
"metadata": {},
724+
"metadata": {
725+
"jp-MarkdownHeadingCollapsed": true
726+
},
684727
"source": [
685728
"# GLORYS"
686729
]
@@ -795,6 +838,133 @@
795838
"source": [
796839
"ds.close()"
797840
]
841+
},
842+
{
843+
"cell_type": "markdown",
844+
"id": "38",
845+
"metadata": {
846+
"jp-MarkdownHeadingCollapsed": true
847+
},
848+
"source": [
849+
"# ESA SCOPE PP parameters"
850+
]
851+
},
852+
{
853+
"cell_type": "code",
854+
"execution_count": null,
855+
"id": "39",
856+
"metadata": {},
857+
"outputs": [],
858+
"source": [
859+
"ds = xr.open_mfdataset(\n",
860+
" \"./PE_mro_mean_error_prv_4km_120p_spring_cor.*.nc\",\n",
861+
" engine=\"h5netcdf\",\n",
862+
" mask_and_scale=True,\n",
863+
" chunks={\"latitude\": 2160, \"lon\": 2160},\n",
864+
" combine=\"nested\",\n",
865+
" concat_dim=\"i\",\n",
866+
").transpose(\"i\", \"lat\", \"lon\")"
867+
]
868+
},
869+
{
870+
"cell_type": "code",
871+
"execution_count": null,
872+
"id": "40",
873+
"metadata": {},
874+
"outputs": [],
875+
"source": [
876+
"ds"
877+
]
878+
},
879+
{
880+
"cell_type": "code",
881+
"execution_count": null,
882+
"id": "41",
883+
"metadata": {},
884+
"outputs": [],
885+
"source": [
886+
"config = {\n",
887+
" \"alphaB\": {\n",
888+
" \"uncertainty\": \"alphaB_unc\",\n",
889+
" \"distribution\": \"lognormal\",\n",
890+
" \"name\": \"alphaB\",\n",
891+
" },\n",
892+
" \"PmB\": {\n",
893+
" \"uncertainty\": \"PmB_unc\",\n",
894+
" \"distribution\": \"normal\",\n",
895+
" \"name\": \"PmB\",\n",
896+
" }\n",
897+
"}"
898+
]
899+
},
900+
{
901+
"cell_type": "code",
902+
"execution_count": null,
903+
"id": "42",
904+
"metadata": {},
905+
"outputs": [],
906+
"source": [
907+
"def xu(ds, v, a):\n",
908+
" x = ds[v][0]\n",
909+
" u = ds[a[\"uncertainty\"]][0]\n",
910+
" return x, u"
911+
]
912+
},
913+
{
914+
"cell_type": "code",
915+
"execution_count": null,
916+
"id": "43",
917+
"metadata": {},
918+
"outputs": [],
919+
"source": [
920+
"for v, a in config.items():\n",
921+
" x, u = xu(ds, v, a)\n",
922+
" res = (ds[v][1:] - x) / u\n",
923+
" plot_histogram(\n",
924+
" res,\n",
925+
" title=a[\"name\"],\n",
926+
" )\n",
927+
" plot_histogram_mean(\n",
928+
" res,\n",
929+
" dims=\"i\",\n",
930+
" title=a[\"name\"],\n",
931+
" )\n",
932+
" plot_histogram_std(\n",
933+
" res,\n",
934+
" dims=\"i\",\n",
935+
" title=a[\"name\"],\n",
936+
" )\n",
937+
" plot_histogram_range(\n",
938+
" res,\n",
939+
" dims=\"i\",\n",
940+
" title=a[\"name\"],\n",
941+
" )\n",
942+
" plot_mean(\n",
943+
" res,\n",
944+
" dims=[\"i\"],\n",
945+
" title=a[\"name\"],\n",
946+
" )\n",
947+
" plot_std(\n",
948+
" res,\n",
949+
" dims=[\"i\"],\n",
950+
" title=a[\"name\"],\n",
951+
" )\n",
952+
" plot_range(\n",
953+
" res,\n",
954+
" dims=[\"i\"],\n",
955+
" title=a[\"name\"],\n",
956+
" )"
957+
]
958+
},
959+
{
960+
"cell_type": "code",
961+
"execution_count": null,
962+
"id": "44",
963+
"metadata": {},
964+
"outputs": [],
965+
"source": [
966+
"ds.close()"
967+
]
798968
}
799969
],
800970
"metadata": {

kaleidoscope/config/config.random.json

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -272,26 +272,14 @@
272272
}
273273
},
274274
"esa-scope-pp-parameters": {
275-
"rho": {
276-
"uncertainty": 0.1,
277-
"distribution": "lognormal"
278-
},
279-
"sigma": {
280-
"uncertainty": 1.0,
281-
"distribution": "lognormal"
282-
},
283-
"zm": {
284-
"uncertainty": 1.0,
285-
"distribution": "lognormal"
286-
},
287-
"alphaB": {
288-
"uncertainty": 0.01,
289-
"distribution": "lognormal"
290-
},
291-
"PmB": {
292-
"uncertainty": 0.1,
293-
"distribution": "normal"
294-
}
275+
"alphaB": {
276+
"uncertainty": "alphaB_unc",
277+
"distribution": "lognormal"
278+
},
279+
"PmB": {
280+
"uncertainty": "PmB_unc",
281+
"distribution": "normal"
282+
}
295283
},
296284
"ghrsst": {
297285
"analysed_sst": {

0 commit comments

Comments
 (0)