nx_water_awg.nx
buildroot/runtime/nx_water_awg.nx
about
nx_water_awg.nx -- WATER SYSTEMS / ATMOSPHERIC WATER HARVESTING. Models
the whole "get water from the air" landscape, not one dehumidifier, and
recommends the best harvester for a climate (temperature + relative
humidity):
CONDENSATION -- refrigeration / dehumidifier (Watergen-class): cool
air below its dew point. Needs humid air (RH >~40%),
grid energy (~300 Wh/L). Psychrometric yield modeled.
SORBENT -- desiccant / MOF (Berkeley MOF-303, SOURCE hydropanels):
adsorb at low RH, release with solar heat. Works into
the desert (RH >~15%), low grid energy.
PASSIVE_CAP -- passive capillary-condensation material (UPenn 2025
amphiphilic nanoporous polymer, sciencedaily 250521):
condenses in nanopores with NO energy input, at lower
humidity than conventional cooling.
FOG -- mesh fog harvesting (needs near-saturation / fog).
RADIATIVE -- passive night-sky radiative cooling condenser.
INTEGER-EXACT. Temp in C; RH in %; saturation vapor density g/m^3 x10;
yield in mL; energy in Wh/L. Psychrometric condensation yield from a
saturation-vapor-density table.
THE exceed: given a climate it PICKS the right harvesting technology
(desert -> sorbent; moderate -> passive capillary; humid -> condensation)
and models the psychrometric yield + specific energy -- a real
research-to-design step, sovereign, no hardware yet (honest).
grounded: psychrometric_saturation_vapor_density + atmospheric_water_generator
+ upenn_amphiphilic_nanoporous_passive_harvesting_2025
+ berkeley_mof_303_sorbent_awh
genealogy_id: atmospheric_water_harvesting + nishi_water_systems
dependencies 1 imports · 5 importers
imports: nx_syscalls.nx
imported by: nx_validation.nxnx_validation_test.nxnx_water_awg_test.nxnx_water_design.nxnx_water_design_test.nx
structs
| none |
consts
| 36 | const WA_CONDENSATION: i64 = 0 |
| 37 | const WA_SORBENT: i64 = 1 |
| 38 | const WA_PASSIVE_CAP: i64 = 2 |
| 39 | const WA_FOG: i64 = 3 |
| 40 | const WA_RADIATIVE: i64 = 4 |
| 41 | const WA_CLASS_N: i64 = 5 |
| 42 | const WA_NONE: i64 = 0 - 1 |
| 45 | const WA_POWER_PASSIVE: i64 = 0 |
| 46 | const WA_POWER_SOLAR: i64 = 1 |
| 47 | const WA_POWER_GRID: i64 = 2 |
functions
| 50 | func wa_class_min_rh(cls: i64) -> i64 called by 1: wa_class_works |
| 60 | func wa_class_energy_whl(cls: i64) -> i64 |
| 70 | func wa_class_yield_score(cls: i64) -> i64 called by 1: wa_class_fitness |
| 79 | func wa_class_power_kind(cls: i64) -> i64 |
| 86 | func wa_class_works(cls: i64, rh_pct: i64) -> i64 |
| 93 | func wa_class_fitness(cls: i64, rh_pct: i64) -> i64 |
| 99 | func wa_recommend(temp_c: i64, rh_pct: i64) -> i64 |
| 119 | func wa_sat_vapor_density_x10(temp_c: i64) -> i64 |
| 133 | func wa_abs_humidity_x10(temp_c: i64, rh_pct: i64) -> i64 |
| 141 | func wa_extractable_x10(temp_c: i64, rh_pct: i64, coil_temp_c: i64) -> i64 called by 3: val_water_casemainwd_daily_yield_ml calls 2: wa_abs_humidity_x10wa_sat_vapor_density_x10 |
| 152 | func wa_daily_yield_ml(airflow_m3h: i64, extractable_x10: i64) -> i64 |
| 159 | func wa_specific_energy_whl(extractable_x10: i64) -> i64 |
| 166 | func wa_condensate_tds() -> i64 called by 1: wd_raw_condensate |