diff --git a/catalog/conus404-daily/collection.json b/catalog/conus404-daily/collection.json index 72f29e6c592c0ebc14de73b3e7ed817b4cabc5fd..f317d294bed23adc764eb0c06d325d44a969e717 100644 --- a/catalog/conus404-daily/collection.json +++ b/catalog/conus404-daily/collection.json @@ -75,13 +75,30 @@ } }, "cube:variables": { + "lat": { + "dimensions": [ + "y", + "x" + ], + "type": "data", + "unit": "degree_north" + }, + "lon": { + "dimensions": [ + "y", + "x" + ], + "type": "data", + "unit": "degree_east" + }, "ACDEWC": { "dimensions": [ "time", "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACDRIPR": { "dimensions": [ @@ -89,7 +106,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACDRIPS": { "dimensions": [ @@ -97,7 +115,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACECAN": { "dimensions": [ @@ -105,7 +124,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACEDIR": { "dimensions": [ @@ -113,7 +133,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACETLSM": { "dimensions": [ @@ -121,7 +142,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACETRAN": { "dimensions": [ @@ -129,7 +151,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACEVAC": { "dimensions": [ @@ -137,7 +160,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACEVB": { "dimensions": [ @@ -145,7 +169,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACEVC": { "dimensions": [ @@ -153,7 +178,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACEVG": { "dimensions": [ @@ -161,7 +187,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACFROC": { "dimensions": [ @@ -169,7 +196,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACFRZC": { "dimensions": [ @@ -177,7 +205,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACGHB": { "dimensions": [ @@ -185,7 +214,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACGHFLSM": { "dimensions": [ @@ -193,7 +223,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACGHV": { "dimensions": [ @@ -201,7 +232,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACINTR": { "dimensions": [ @@ -209,7 +241,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACINTS": { "dimensions": [ @@ -217,7 +250,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACLHFLSM": { "dimensions": [ @@ -225,7 +259,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACLWDNB": { "dimensions": [ @@ -233,7 +268,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "J m-2" }, "ACLWUPB": { "dimensions": [ @@ -241,7 +277,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "J m-2" }, "ACMELTC": { "dimensions": [ @@ -249,7 +286,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACPONDING": { "dimensions": [ @@ -257,7 +295,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACQLAT": { "dimensions": [ @@ -265,7 +304,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACQRF": { "dimensions": [ @@ -273,7 +313,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACRAINLSM": { "dimensions": [ @@ -281,7 +322,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACRAINSNOW": { "dimensions": [ @@ -289,7 +331,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACRUNSB": { "dimensions": [ @@ -297,7 +340,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACRUNSF": { "dimensions": [ @@ -305,7 +349,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACSHFLSM": { "dimensions": [ @@ -313,7 +358,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACSNBOT": { "dimensions": [ @@ -321,7 +367,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACSNFRO": { "dimensions": [ @@ -329,7 +376,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACSNOM": { "dimensions": [ @@ -337,7 +385,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kg m-2" }, "ACSNOWLSM": { "dimensions": [ @@ -345,7 +394,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACSNSUB": { "dimensions": [ @@ -353,7 +403,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACSUBC": { "dimensions": [ @@ -361,7 +412,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACSWDNB": { "dimensions": [ @@ -369,7 +421,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "J m-2" }, "ACSWDNLSM": { "dimensions": [ @@ -377,7 +430,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACSWDNT": { "dimensions": [ @@ -385,7 +439,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "J m-2" }, "ACSWUPB": { "dimensions": [ @@ -393,7 +448,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "J m-2" }, "ACSWUPLSM": { "dimensions": [ @@ -401,7 +457,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ACTHROR": { "dimensions": [ @@ -409,7 +466,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACTHROS": { "dimensions": [ @@ -417,7 +475,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "ACTR": { "dimensions": [ @@ -425,7 +484,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "ALBEDO": { "dimensions": [ @@ -433,67 +493,78 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "1" }, "BF": { "dimensions": [ "bottom_top_stag" ], - "type": "data" + "type": "data", + "unit": "Dimensionless" }, "BH": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "Dimensionless" }, "C1F": { "dimensions": [ "bottom_top_stag" ], - "type": "data" + "type": "data", + "unit": "Dimensionless" }, "C1H": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "Dimensionless" }, "C2F": { "dimensions": [ "bottom_top_stag" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "C2H": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "C3F": { "dimensions": [ "bottom_top_stag" ], - "type": "data" + "type": "data", + "unit": "Dimensionless" }, "C3H": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "Dimensionless" }, "C4F": { "dimensions": [ "bottom_top_stag" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "C4H": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "CANWAT": { "dimensions": [ @@ -501,66 +572,78 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kg m-2" }, "CF1": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "CF2": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "CF3": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "CFN": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "CFN1": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "CLAT": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "degree_north" }, "COSALPHA": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "DN": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "DNW": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "DZS": { "dimensions": [ "soil_layers_stag" ], - "type": "data" + "type": "data", + "unit": "m" }, "E": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "s-1" }, "E2": { "dimensions": [ @@ -568,7 +651,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "ES2": { "dimensions": [ @@ -576,26 +660,30 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "F": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "s-1" }, "FNM": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "FNP": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "GRAUPEL_ACC_NC": { "dimensions": [ @@ -603,127 +691,178 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "HGT": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "ISLTYP": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "IVGTYP": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "LAKEMASK": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "LANDMASK": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "LU_INDEX": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_M": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_MX": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_MY": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" + }, + "lat_u": { + "dimensions": [ + "y", + "x_stag" + ], + "type": "data", + "unit": "degree_north" + }, + "lon_u": { + "dimensions": [ + "y", + "x_stag" + ], + "type": "data", + "unit": "degree_east" }, "MAPFAC_U": { "dimensions": [ "y", "x_stag" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_UX": { "dimensions": [ "y", "x_stag" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_UY": { "dimensions": [ "y", "x_stag" ], - "type": "data" + "type": "data", + "unit": "" + }, + "lat_v": { + "dimensions": [ + "y_stag", + "x" + ], + "type": "data", + "unit": "degree_north" + }, + "lon_v": { + "dimensions": [ + "y_stag", + "x" + ], + "type": "data", + "unit": "degree_east" }, "MAPFAC_V": { "dimensions": [ "y_stag", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_VX": { "dimensions": [ "y_stag", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MAPFAC_VY": { "dimensions": [ "y_stag", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MAX_MSTFX": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "MAX_MSTFY": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "MF_VX_INV": { "dimensions": [ "y_stag", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "MLCAPE": { "dimensions": [ @@ -731,18 +870,21 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "J kg-1" }, "MUB": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "P00": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "Pa" }, "PB": { "dimensions": [ @@ -750,7 +892,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "PBLH": { "dimensions": [ @@ -758,7 +901,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "PHB": { "dimensions": [ @@ -766,7 +910,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m2 s-2" }, "PREC_ACC_NC": { "dimensions": [ @@ -774,7 +919,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "PSFC": { "dimensions": [ @@ -782,7 +928,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "Pa" }, "PWAT": { "dimensions": [ @@ -790,15 +937,18 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "meters" }, "P_STRAT": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "Pa" }, "P_TOP": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "Pa" }, "Q2": { "dimensions": [ @@ -806,7 +956,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kg kg-1" }, "QRFS": { "dimensions": [ @@ -814,7 +965,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "QSLAT": { "dimensions": [ @@ -822,7 +974,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "QSPRINGS": { "dimensions": [ @@ -830,7 +983,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "QVAPOR": { "dimensions": [ @@ -838,27 +992,32 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kg kg-1" }, "RDN": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "RDNW": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "RDX": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "m-1" }, "RDY": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "m-1" }, "RECH": { "dimensions": [ @@ -866,7 +1025,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "RH2": { "dimensions": [ @@ -874,7 +1034,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": null }, "SH2": { "dimensions": [ @@ -882,7 +1043,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kg kg-1" }, "SH2O": { "dimensions": [ @@ -891,28 +1053,32 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m3 m-3" }, "SHDMAX": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "1" }, "SHDMIN": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "1" }, "SINALPHA": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "SMCWTD": { "dimensions": [ @@ -920,7 +1086,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m3 m-3" }, "SMOIS": { "dimensions": [ @@ -929,7 +1096,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m3 m-3" }, "SNICE": { "dimensions": [ @@ -938,7 +1106,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "SNLIQ": { "dimensions": [ @@ -947,14 +1116,16 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "SNOALB": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "1" }, "SNOW": { "dimensions": [ @@ -962,7 +1133,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kg m-2" }, "SNOWC": { "dimensions": [ @@ -970,7 +1142,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "SNOWENERGY": { "dimensions": [ @@ -978,7 +1151,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "SNOWH": { "dimensions": [ @@ -986,7 +1160,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "SNOW_ACC_NC": { "dimensions": [ @@ -994,7 +1169,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "mm" }, "SOILENERGY": { "dimensions": [ @@ -1002,7 +1178,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "kJ m-2" }, "SR": { "dimensions": [ @@ -1010,11 +1187,13 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "1" }, "T00": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "K" }, "T2": { "dimensions": [ @@ -1022,7 +1201,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TD2": { "dimensions": [ @@ -1030,11 +1210,13 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TISO": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "K" }, "TK": { "dimensions": [ @@ -1042,15 +1224,18 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TLP": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "TLP_STRAT": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "K" }, "TRAD": { "dimensions": [ @@ -1058,7 +1243,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TSK": { "dimensions": [ @@ -1066,7 +1252,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TSLB": { "dimensions": [ @@ -1075,7 +1262,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TSNO": { "dimensions": [ @@ -1084,7 +1272,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "TV": { "dimensions": [ @@ -1092,7 +1281,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "K" }, "U": { "dimensions": [ @@ -1100,7 +1290,8 @@ "y", "x_stag" ], - "type": "data" + "type": "data", + "unit": "m s-1" }, "U10": { "dimensions": [ @@ -1108,7 +1299,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m s-1" }, "V": { "dimensions": [ @@ -1116,7 +1308,8 @@ "y_stag", "x" ], - "type": "data" + "type": "data", + "unit": "m s-1" }, "V10": { "dimensions": [ @@ -1124,28 +1317,32 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m s-1" }, "VAR": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "VAR_SSO": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m2" }, "XLAND": { "dimensions": [ "y", "x" ], - "type": "data" + "type": "data", + "unit": "" }, "Z": { "dimensions": [ @@ -1153,29 +1350,34 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "meters MSL" }, "ZETATOP": { "dimensions": [], - "type": "data" + "type": "data", + "unit": "" }, "ZNU": { "dimensions": [ "bottom_top" ], - "type": "data" + "type": "data", + "unit": "" }, "ZNW": { "dimensions": [ "bottom_top_stag" ], - "type": "data" + "type": "data", + "unit": "" }, "ZS": { "dimensions": [ "soil_layers_stag" ], - "type": "data" + "type": "data", + "unit": "m" }, "ZSNSO": { "dimensions": [ @@ -1184,7 +1386,8 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "ZWT": { "dimensions": [ @@ -1192,53 +1395,13 @@ "y", "x" ], - "type": "data" + "type": "data", + "unit": "m" }, "crs": { "dimensions": [], - "type": "data" - }, - "lat": { - "dimensions": [ - "y", - "x" - ], - "type": "data" - }, - "lat_u": { - "dimensions": [ - "y", - "x_stag" - ], - "type": "data" - }, - "lat_v": { - "dimensions": [ - "y_stag", - "x" - ], - "type": "data" - }, - "lon": { - "dimensions": [ - "y", - "x" - ], - "type": "data" - }, - "lon_u": { - "dimensions": [ - "y", - "x_stag" - ], - "type": "data" - }, - "lon_v": { - "dimensions": [ - "y_stag", - "x" - ], - "type": "data" + "type": "data", + "unit": null } }, "assets": { diff --git a/workflows/create_collection_zarr_exploratory_workflow_conus404-daily.ipynb b/workflows/create_collection_zarr_exploratory_workflow_conus404-daily.ipynb index a5cb53831315fa6ec7826ffa386967c252065a00..39815ffe8782a46026578e5da427007a69e6f670 100644 --- a/workflows/create_collection_zarr_exploratory_workflow_conus404-daily.ipynb +++ b/workflows/create_collection_zarr_exploratory_workflow_conus404-daily.ipynb @@ -32,7 +32,10 @@ "import hvplot.xarray\n", "import pandas as pd\n", "import json\n", - "import numpy as np" + "import numpy as np\n", + "import metpy\n", + "import cartopy.crs as ccrs\n", + "import cfunits" ] }, { @@ -145,10 +148,10 @@ " print(f\"name of {d} dimension: {dim}\\n\")\n", " return dim\n", "\n", - "dims_dict = {}\n", + "dim_names_dict = {}\n", "for d in dims_auto_extract:\n", - " dims_dict[d] = extract_dim(ds, d)\n", - "print(f\"Dimension dictionary: {dims_dict}\")" + " dim_names_dict[d] = extract_dim(ds, d)\n", + "print(f\"Dimension dictionary: {dim_names_dict}\")" ] }, { @@ -173,6 +176,33 @@ " geo=True, tiles='OSM', alpha=0.7, cmap='turbo')" ] }, + { + "cell_type": "markdown", + "id": "5e057a6c-06fb-4406-823b-e81c58e520e4", + "metadata": {}, + "source": [ + "## Plot a time series at a specific point\n", + "This can help you verify a variable's values" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7de2681-88c2-4597-857c-8f169c596f8b", + "metadata": {}, + "outputs": [], + "source": [ + "# enter lat, lon of point you want to plot time series for\n", + "lat,lon = 39.978322,-105.2772194\n", + "time_start = '2013-01-01 00:00'\n", + "time_end = '2013-12-31 00:00'\n", + "ds = ds.metpy.parse_cf()\n", + "crs = ds[var_to_plot].metpy.cartopy_crs\n", + "x, y = crs.transform_point(lon, lat, src_crs=ccrs.PlateCarree()) # PlateCaree = Lat,Lon\n", + "da = ds[var_to_plot].sel(x=x, y=y, method='nearest').sel(time=slice(time_start,time_end)).load()\n", + "da.hvplot(x=dim_names_dict['T'], grid=True)" + ] + }, { "cell_type": "markdown", "id": "a8c3ed37-8564-400b-a7fb-25bd5e43d21c", @@ -224,8 +254,8 @@ "outputs": [], "source": [ "# pull out first and last timestamps\n", - "temporal_extent_lower = pd.Timestamp(ds[dims_dict['T']].data.min())\n", - "temporal_extent_upper = pd.Timestamp(ds[dims_dict['T']].data.max())\n", + "temporal_extent_lower = pd.Timestamp(ds[dim_names_dict['T']].data.min())\n", + "temporal_extent_upper = pd.Timestamp(ds[dim_names_dict['T']].data.max())\n", "print(f'min: {temporal_extent_lower} \\nmax: {temporal_extent_upper}')\n", "# create a temporal extent object\n", "temporal_extent = pystac.TemporalExtent(intervals=[[temporal_extent_lower, temporal_extent_upper]])" @@ -343,7 +373,7 @@ "outputs": [], "source": [ "# get x, y bounds for extent of those dimensions (required)\n", - "xy_bounds = [ds[dims_dict['X']].data.min().astype(float), ds[dims_dict['Y']].data.min().astype(float), ds[dims_dict['X']].data.max().astype(float), ds[dims_dict['Y']].data.max().astype(float)]\n", + "xy_bounds = [ds[dim_names_dict['X']].data.min().astype(float), ds[dim_names_dict['Y']].data.min().astype(float), ds[dim_names_dict['X']].data.max().astype(float), ds[dim_names_dict['Y']].data.max().astype(float)]\n", "print(xy_bounds)" ] }, @@ -407,6 +437,29 @@ "### Add cube variables (optional field for extension)" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "92510876-7853-4d24-8563-c69f9012aeb6", + "metadata": {}, + "outputs": [], + "source": [ + "def get_unit(ds, v):\n", + " # check if unit is defined for variable\n", + " try:\n", + " unit = ds[v].attrs['units']\n", + " except:\n", + " unit = None\n", + " # check if unit comes from https://docs.unidata.ucar.edu/udunits/current/#Database\n", + " try:\n", + " cfunits.Units(unit).isvalid\n", + " except:\n", + " print(\"Unit is not valid as a UD unit.\")\n", + " unit = str(input(\"Please enter a valid unit for {v} from here: https://docs.unidata.ucar.edu/udunits/current/#Database\"))\n", + " assert cfunits.Units(unit).isvalid\n", + " return unit" + ] + }, { "cell_type": "code", "execution_count": null, @@ -420,13 +473,18 @@ "# we will drop all values in dims from vars\n", "vars = [v for v in vars if v not in dims]\n", "\n", + "# drop special vars we have added\n", + "added_vars = ['metpy_crs']\n", + "vars = [v for v in vars if v not in added_vars]\n", + "\n", "# Microsoft Planetary Computer includes coorindates and crs as variables here: https://planetarycomputer.microsoft.com/dataset/daymet-annual-na\n", "# we will keep those in the var list\n", "\n", "# create dictionary of dataset variables and associated dimensions\n", "vars_dict={}\n", "for v in vars:\n", - " vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': 'data'})" + " unit = get_unit(ds, v)\n", + " vars_dict[v] = pystac.extensions.datacube.Variable({'dimensions':list(ds[v].dims), 'type': 'data', 'unit': unit})" ] }, {