Remote-sensing preflight, COSMOS-Europe
period 2019-01-01 to 2022-12-31, token-free products only
Offline: selection answers from declared extents; pixels are read at fetch time.

==============================================================================
HOC001  Hohes Holz, Germany  (52.090 N, 11.226 E)
  German forest, reaches the national product
==============================================================================
Product selection for 'Hohes Holz' (52.090 N, 11.226 E), 2019-01-01 - 2022-12-31:
  above_ground_biomass     -> dlr_forest_structure_agbd (10 m, Germany, measured data extent of the forest-structure product, 2017-2023)
      chosen over esa_cci_biomass_v6 (100 m, global land): finer resolution; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  ndvi                     -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  evi                      -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  lai                      -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  fpar                     -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  land_cover_class         -> esa_worldcover_v200 (10 m, global land, 2021-2021)
      chosen over esa_worldcover_v100 (10 m, global land): explicit catalog priority; the 2021 map is the product for the whole period
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
      Product 'esa_worldcover_v200' is an epoch map; epoch 2021 is used for the whole requested period and recorded. Requesting an exact period is meaningless here because the map *is* the product.
  canopy_height            -> no usable product
      No catalogued product serves variable 'canopy_height'.
      The catalogued product was withdrawn on 2026-08-26 rather than kept for completeness. It was the German forest-structure RH95 map, a second catalogue entry and a second fetch beside the biomass map rather than a by-product of it, and it stopped at the German border: measured over 2019-2022, it reached 38 of the 66 COSMOS-Europe stations and none of the other 28. Nothing in Neptoon read the column. It entered no correction, no calibration and no soil-moisture product, and its one use was as a third witness to whether a footprint is really forest. That question is already open without it: measured at the same 38 German stations, the DLR forest fraction and the WorldCover tree-cover share disagree by more than 5 points at 13 of them and by up to 20, in both directions. Disagreeing witnesses are a diagnosis to run when the forest fraction looks wrong, not a column to publish. Ask for 'land_cover_class' for the forest question, and read 'rs_above_ground_biomass_valid_fraction' beside it for what the biomass product itself considers forest. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_moisture            -> no usable product
      No catalogued product serves variable 'soil_moisture'.
      Satellite soil moisture is served through a cloud-project provider, which is deliberately outside the token-free scope. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_water_index         -> no usable product
      No usable product serves variable 'soil_water_index' at (52.090 N, 11.226 E).
      Rejected candidates:
        copernicus_swi_ts: needs a credential (registration) that is not configured
      Credentials would add:
        copernicus_swi_ts available after 'neptoon rs auth cdse' (free registration)
  snow_cover_fraction      -> no usable product
      No catalogued product serves variable 'snow_cover_fraction'.
      No token-free source exists. Measured against the live services on 2026-08-20: the subsetting service serving the vegetation products lists 46 products and none of them is snow, and MOD10A1, MYD10A1, MOD10A2, VNP10A1 and MCD10A1 each answer HTTP 404 'Product not found'. The reanalysis route does not close the gap either: its snow water equivalent is accepted as a variable but returns null for every model. MOD10A1 is a standard Earth Engine dataset, so the variable moves to the cloud-project provider rather than disappearing. Snow depth from the reanalysis is unaffected and available today. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  finding: Product 'dlr_forest_structure_agbd' declares a temporal extent ending ongoing while data was last observed at 2023-12-31. Availability is taken from observation; the disagreement is reported because it indicates either a provider problem or a misunderstanding on Neptoon's side.
  finding: Variable 'land_cover_class' is informative only: it is written, reported and documented, and enters no computation anywhere in Neptoon. Classification uncertainty and the map epoch are stated with it.

==============================================================================
CUC001  Cunnersdorf, Germany  (51.370 N, 12.557 E)
  German farmland, forest fraction 0
==============================================================================
Product selection for 'Cunnersdorf' (51.370 N, 12.557 E), 2019-01-01 - 2022-12-31:
  above_ground_biomass     -> dlr_forest_structure_agbd (10 m, Germany, measured data extent of the forest-structure product, 2017-2023)
      chosen over esa_cci_biomass_v6 (100 m, global land): finer resolution; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  ndvi                     -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  evi                      -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  lai                      -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  fpar                     -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  land_cover_class         -> esa_worldcover_v200 (10 m, global land, 2021-2021)
      chosen over esa_worldcover_v100 (10 m, global land): explicit catalog priority; the 2021 map is the product for the whole period
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
      Product 'esa_worldcover_v200' is an epoch map; epoch 2021 is used for the whole requested period and recorded. Requesting an exact period is meaningless here because the map *is* the product.
  canopy_height            -> no usable product
      No catalogued product serves variable 'canopy_height'.
      The catalogued product was withdrawn on 2026-08-26 rather than kept for completeness. It was the German forest-structure RH95 map, a second catalogue entry and a second fetch beside the biomass map rather than a by-product of it, and it stopped at the German border: measured over 2019-2022, it reached 38 of the 66 COSMOS-Europe stations and none of the other 28. Nothing in Neptoon read the column. It entered no correction, no calibration and no soil-moisture product, and its one use was as a third witness to whether a footprint is really forest. That question is already open without it: measured at the same 38 German stations, the DLR forest fraction and the WorldCover tree-cover share disagree by more than 5 points at 13 of them and by up to 20, in both directions. Disagreeing witnesses are a diagnosis to run when the forest fraction looks wrong, not a column to publish. Ask for 'land_cover_class' for the forest question, and read 'rs_above_ground_biomass_valid_fraction' beside it for what the biomass product itself considers forest. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_moisture            -> no usable product
      No catalogued product serves variable 'soil_moisture'.
      Satellite soil moisture is served through a cloud-project provider, which is deliberately outside the token-free scope. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_water_index         -> no usable product
      No usable product serves variable 'soil_water_index' at (51.370 N, 12.557 E).
      Rejected candidates:
        copernicus_swi_ts: needs a credential (registration) that is not configured
      Credentials would add:
        copernicus_swi_ts available after 'neptoon rs auth cdse' (free registration)
  snow_cover_fraction      -> no usable product
      No catalogued product serves variable 'snow_cover_fraction'.
      No token-free source exists. Measured against the live services on 2026-08-20: the subsetting service serving the vegetation products lists 46 products and none of them is snow, and MOD10A1, MYD10A1, MOD10A2, VNP10A1 and MCD10A1 each answer HTTP 404 'Product not found'. The reanalysis route does not close the gap either: its snow water equivalent is accepted as a variable but returns null for every model. MOD10A1 is a standard Earth Engine dataset, so the variable moves to the cloud-project provider rather than disappearing. Snow depth from the reanalysis is unaffected and available today. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  finding: Product 'dlr_forest_structure_agbd' declares a temporal extent ending ongoing while data was last observed at 2023-12-31. Availability is taken from observation; the disagreement is reported because it indicates either a provider problem or a misunderstanding on Neptoon's side.
  finding: Variable 'land_cover_class' is informative only: it is written, reported and documented, and enters no computation anywhere in Neptoon. Classification uncertainty and the map epoch are stated with it.

==============================================================================
AAC001  Aas, Norway  (59.664 N, 10.762 E)
  Norway, outside the national product's extent
==============================================================================
Product selection for 'Aas' (59.664 N, 10.762 E), 2019-01-01 - 2022-12-31:
  above_ground_biomass     -> esa_cci_biomass_v6 (100 m, global land, 2007-2022)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  ndvi                     -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  evi                      -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  lai                      -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  fpar                     -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  land_cover_class         -> esa_worldcover_v200 (10 m, global land, 2021-2021)
      chosen over esa_worldcover_v100 (10 m, global land): explicit catalog priority; the 2021 map is the product for the whole period
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
      Product 'esa_worldcover_v200' is an epoch map; epoch 2021 is used for the whole requested period and recorded. Requesting an exact period is meaningless here because the map *is* the product.
  canopy_height            -> no usable product
      No catalogued product serves variable 'canopy_height'.
      The catalogued product was withdrawn on 2026-08-26 rather than kept for completeness. It was the German forest-structure RH95 map, a second catalogue entry and a second fetch beside the biomass map rather than a by-product of it, and it stopped at the German border: measured over 2019-2022, it reached 38 of the 66 COSMOS-Europe stations and none of the other 28. Nothing in Neptoon read the column. It entered no correction, no calibration and no soil-moisture product, and its one use was as a third witness to whether a footprint is really forest. That question is already open without it: measured at the same 38 German stations, the DLR forest fraction and the WorldCover tree-cover share disagree by more than 5 points at 13 of them and by up to 20, in both directions. Disagreeing witnesses are a diagnosis to run when the forest fraction looks wrong, not a column to publish. Ask for 'land_cover_class' for the forest question, and read 'rs_above_ground_biomass_valid_fraction' beside it for what the biomass product itself considers forest. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_moisture            -> no usable product
      No catalogued product serves variable 'soil_moisture'.
      Satellite soil moisture is served through a cloud-project provider, which is deliberately outside the token-free scope. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_water_index         -> no usable product
      No usable product serves variable 'soil_water_index' at (59.664 N, 10.762 E).
      Rejected candidates:
        copernicus_swi_ts: needs a credential (registration) that is not configured
      Credentials would add:
        copernicus_swi_ts available after 'neptoon rs auth cdse' (free registration)
  snow_cover_fraction      -> no usable product
      No catalogued product serves variable 'snow_cover_fraction'.
      No token-free source exists. Measured against the live services on 2026-08-20: the subsetting service serving the vegetation products lists 46 products and none of them is snow, and MOD10A1, MYD10A1, MOD10A2, VNP10A1 and MCD10A1 each answer HTTP 404 'Product not found'. The reanalysis route does not close the gap either: its snow water equivalent is accepted as a variable but returns null for every model. MOD10A1 is a standard Earth Engine dataset, so the variable moves to the cloud-project provider rather than disappearing. Snow depth from the reanalysis is unaffected and available today. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  finding: Variable 'land_cover_class' is informative only: it is written, reported and documented, and enters no computation anywhere in Neptoon. Classification uncertainty and the map epoch are stated with it.

==============================================================================
SAC001  Saerheim, Norway  (58.761 N, 5.651 E)
  Norwegian coast, a footprint near open water
==============================================================================
Product selection for 'Saerheim' (58.761 N, 5.651 E), 2019-01-01 - 2022-12-31:
  above_ground_biomass     -> esa_cci_biomass_v6 (100 m, global land, 2007-2022)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  ndvi                     -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  evi                      -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  lai                      -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  fpar                     -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  land_cover_class         -> esa_worldcover_v200 (10 m, global land, 2021-2021)
      chosen over esa_worldcover_v100 (10 m, global land): explicit catalog priority; the 2021 map is the product for the whole period
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
      Product 'esa_worldcover_v200' is an epoch map; epoch 2021 is used for the whole requested period and recorded. Requesting an exact period is meaningless here because the map *is* the product.
  canopy_height            -> no usable product
      No catalogued product serves variable 'canopy_height'.
      The catalogued product was withdrawn on 2026-08-26 rather than kept for completeness. It was the German forest-structure RH95 map, a second catalogue entry and a second fetch beside the biomass map rather than a by-product of it, and it stopped at the German border: measured over 2019-2022, it reached 38 of the 66 COSMOS-Europe stations and none of the other 28. Nothing in Neptoon read the column. It entered no correction, no calibration and no soil-moisture product, and its one use was as a third witness to whether a footprint is really forest. That question is already open without it: measured at the same 38 German stations, the DLR forest fraction and the WorldCover tree-cover share disagree by more than 5 points at 13 of them and by up to 20, in both directions. Disagreeing witnesses are a diagnosis to run when the forest fraction looks wrong, not a column to publish. Ask for 'land_cover_class' for the forest question, and read 'rs_above_ground_biomass_valid_fraction' beside it for what the biomass product itself considers forest. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_moisture            -> no usable product
      No catalogued product serves variable 'soil_moisture'.
      Satellite soil moisture is served through a cloud-project provider, which is deliberately outside the token-free scope. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_water_index         -> no usable product
      No usable product serves variable 'soil_water_index' at (58.761 N, 5.651 E).
      Rejected candidates:
        copernicus_swi_ts: needs a credential (registration) that is not configured
      Credentials would add:
        copernicus_swi_ts available after 'neptoon rs auth cdse' (free registration)
  snow_cover_fraction      -> no usable product
      No catalogued product serves variable 'snow_cover_fraction'.
      No token-free source exists. Measured against the live services on 2026-08-20: the subsetting service serving the vegetation products lists 46 products and none of them is snow, and MOD10A1, MYD10A1, MOD10A2, VNP10A1 and MCD10A1 each answer HTTP 404 'Product not found'. The reanalysis route does not close the gap either: its snow water equivalent is accepted as a variable but returns null for every model. MOD10A1 is a standard Earth Engine dataset, so the variable moves to the cloud-project provider rather than disappearing. Snow depth from the reanalysis is unaffected and available today. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  finding: Variable 'land_cover_class' is informative only: it is written, reported and documented, and enters no computation anywhere in Neptoon. Classification uncertainty and the map epoch are stated with it.

==============================================================================
WEC001  Weisssee, Austria  (46.873 N, 10.714 E)
  Austrian Alps, a reservoir inside the footprint
==============================================================================
Product selection for 'Weisssee' (46.873 N, 10.714 E), 2019-01-01 - 2022-12-31:
  above_ground_biomass     -> esa_cci_biomass_v6 (100 m, global land, 2007-2022)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  ndvi                     -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  evi                      -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  lai                      -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  fpar                     -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  land_cover_class         -> esa_worldcover_v200 (10 m, global land, 2021-2021)
      chosen over esa_worldcover_v100 (10 m, global land): explicit catalog priority; the 2021 map is the product for the whole period
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
      Product 'esa_worldcover_v200' is an epoch map; epoch 2021 is used for the whole requested period and recorded. Requesting an exact period is meaningless here because the map *is* the product.
  canopy_height            -> no usable product
      No catalogued product serves variable 'canopy_height'.
      The catalogued product was withdrawn on 2026-08-26 rather than kept for completeness. It was the German forest-structure RH95 map, a second catalogue entry and a second fetch beside the biomass map rather than a by-product of it, and it stopped at the German border: measured over 2019-2022, it reached 38 of the 66 COSMOS-Europe stations and none of the other 28. Nothing in Neptoon read the column. It entered no correction, no calibration and no soil-moisture product, and its one use was as a third witness to whether a footprint is really forest. That question is already open without it: measured at the same 38 German stations, the DLR forest fraction and the WorldCover tree-cover share disagree by more than 5 points at 13 of them and by up to 20, in both directions. Disagreeing witnesses are a diagnosis to run when the forest fraction looks wrong, not a column to publish. Ask for 'land_cover_class' for the forest question, and read 'rs_above_ground_biomass_valid_fraction' beside it for what the biomass product itself considers forest. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_moisture            -> no usable product
      No catalogued product serves variable 'soil_moisture'.
      Satellite soil moisture is served through a cloud-project provider, which is deliberately outside the token-free scope. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_water_index         -> no usable product
      No usable product serves variable 'soil_water_index' at (46.873 N, 10.714 E).
      Rejected candidates:
        copernicus_swi_ts: needs a credential (registration) that is not configured
      Credentials would add:
        copernicus_swi_ts available after 'neptoon rs auth cdse' (free registration)
  snow_cover_fraction      -> no usable product
      No catalogued product serves variable 'snow_cover_fraction'.
      No token-free source exists. Measured against the live services on 2026-08-20: the subsetting service serving the vegetation products lists 46 products and none of them is snow, and MOD10A1, MYD10A1, MOD10A2, VNP10A1 and MCD10A1 each answer HTTP 404 'Product not found'. The reanalysis route does not close the gap either: its snow water equivalent is accepted as a variable but returns null for every model. MOD10A1 is a standard Earth Engine dataset, so the variable moves to the cloud-project provider rather than disappearing. Snow depth from the reanalysis is unaffected and available today. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  finding: Variable 'land_cover_class' is informative only: it is written, reported and documented, and enters no computation anywhere in Neptoon. Classification uncertainty and the map epoch are stated with it.

==============================================================================
RIC001  Rietholzbach, Switzerland  (47.381 N, 8.993 E)
  Switzerland, the one site with no water within 3 km
==============================================================================
Product selection for 'Rietholzbach' (47.381 N, 8.993 E), 2019-01-01 - 2022-12-31:
  above_ground_biomass     -> esa_cci_biomass_v6 (100 m, global land, 2007-2022)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  ndvi                     -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  evi                      -> modis_ornl_mod13q1 (250 m, global, 2000-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  lai                      -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  fpar                     -> modis_ornl_mcd15a3h (500 m, global, 2002-ongoing)
      only candidate covering this station; full temporal coverage
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
  land_cover_class         -> esa_worldcover_v200 (10 m, global land, 2021-2021)
      chosen over esa_worldcover_v100 (10 m, global land): explicit catalog priority; the 2021 map is the product for the whole period
      Spatial coverage was checked offline against the declared extent only. The valid-pixel fraction is read when the data is fetched, so this check behaves differently with and without network access.
      Product 'esa_worldcover_v200' is an epoch map; epoch 2021 is used for the whole requested period and recorded. Requesting an exact period is meaningless here because the map *is* the product.
  canopy_height            -> no usable product
      No catalogued product serves variable 'canopy_height'.
      The catalogued product was withdrawn on 2026-08-26 rather than kept for completeness. It was the German forest-structure RH95 map, a second catalogue entry and a second fetch beside the biomass map rather than a by-product of it, and it stopped at the German border: measured over 2019-2022, it reached 38 of the 66 COSMOS-Europe stations and none of the other 28. Nothing in Neptoon read the column. It entered no correction, no calibration and no soil-moisture product, and its one use was as a third witness to whether a footprint is really forest. That question is already open without it: measured at the same 38 German stations, the DLR forest fraction and the WorldCover tree-cover share disagree by more than 5 points at 13 of them and by up to 20, in both directions. Disagreeing witnesses are a diagnosis to run when the forest fraction looks wrong, not a column to publish. Ask for 'land_cover_class' for the forest question, and read 'rs_above_ground_biomass_valid_fraction' beside it for what the biomass product itself considers forest. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_moisture            -> no usable product
      No catalogued product serves variable 'soil_moisture'.
      Satellite soil moisture is served through a cloud-project provider, which is deliberately outside the token-free scope. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  soil_water_index         -> no usable product
      No usable product serves variable 'soil_water_index' at (47.381 N, 8.993 E).
      Rejected candidates:
        copernicus_swi_ts: needs a credential (registration) that is not configured
      Credentials would add:
        copernicus_swi_ts available after 'neptoon rs auth cdse' (free registration)
  snow_cover_fraction      -> no usable product
      No catalogued product serves variable 'snow_cover_fraction'.
      No token-free source exists. Measured against the live services on 2026-08-20: the subsetting service serving the vegetation products lists 46 products and none of them is snow, and MOD10A1, MYD10A1, MOD10A2, VNP10A1 and MCD10A1 each answer HTTP 404 'Product not found'. The reanalysis route does not close the gap either: its snow water equivalent is accepted as a variable but returns null for every model. MOD10A1 is a standard Earth Engine dataset, so the variable moves to the cloud-project provider rather than disappearing. Snow depth from the reanalysis is unaffected and available today. Run 'neptoon rs catalog' to see what is available, or declare a local product if you hold the data yourself.
  finding: Variable 'land_cover_class' is informative only: it is written, reported and documented, and enters no computation anywhere in Neptoon. Classification uncertainty and the map epoch are stated with it.
