diff --git a/lagtraj/forcings/conversion/targets/dephy.py b/lagtraj/forcings/conversion/targets/dephy.py index a90fc7f..5ea3b6d 100644 --- a/lagtraj/forcings/conversion/targets/dephy.py +++ b/lagtraj/forcings/conversion/targets/dephy.py @@ -300,6 +300,8 @@ def _rh_dephy(tt, pp, qt): def from_era5(ds_era5, da_levels, parameters, metadata): + print(parameters) + def none_pass(x): if x is None: return "None" @@ -633,14 +635,19 @@ def nudging_inv_time_prof(parameter_type, variable): "surfaceType": parameters.surfaceType, "surfaceForcing": parameters.surfaceForcing, "surfaceForcingWind": parameters.surfaceForcingWind, - "nudging_method": none_pass(parameters.nudging_method_momentum), + "nudging_method_momentum": str(none_pass(parameters.nudging_method_momentum)), + "nudging_method_scalars": str(none_pass(parameters.nudging_method_scalars)), } ds_dephy.attrs.update(**dephy_dictionary) nudging_specs_dict = { - "nudging_above_height": parameters.nudging_above_height_momentum, - "nudging_timescale": parameters.nudging_timescale_momentum, - "nudging_transition_shape": parameters.nudging_transition_shape_momentum, - "nudging_transition_thickness": parameters.nudging_transition_thickness_momentum, + "nudging_above_height_momentum": parameters.nudging_above_height_momentum, + "nudging_timescale_momentum": parameters.nudging_timescale_momentum, + "nudging_transition_shape_momentum": parameters.nudging_transition_shape_momentum, + "nudging_transition_thickness_momentum": parameters.nudging_transition_thickness_momentum, + "nudging_above_height_scalars": parameters.nudging_above_height_scalars, + "nudging_timescale_scalars": parameters.nudging_timescale_scalars, + "nudging_transition_shape_scalars": parameters.nudging_transition_shape_scalars, + "nudging_transition_thickness_scalars": parameters.nudging_transition_thickness_scalars, } # Filter out None values nudging_filtered_dict = { diff --git a/lagtraj/forcings/conversion/targets/kpt.py b/lagtraj/forcings/conversion/targets/kpt.py index a5d81e7..327fde2 100644 --- a/lagtraj/forcings/conversion/targets/kpt.py +++ b/lagtraj/forcings/conversion/targets/kpt.py @@ -542,7 +542,7 @@ def none_pass(x): "flight": metadata.case, "date": ds_era5["origin_datetime"].values.astype("str"), "source": "ERA5", - "source_domain": ds_era5.trajectory_domain, + # "source_domain": metadata.trajectory_domain_name, "source_grid": "grid0.1x0.1", # TODO: (Leif) these need adding, where should they come from? # "source_latsamp": ds_era5.sampling_method[1], @@ -551,14 +551,19 @@ def none_pass(x): "created": datetime.datetime.now().isoformat(), "wilting_point": 0.1715, "field_capacity": 0.32275, - "nudging_method": none_pass(parameters.nudging_method_momentum), + "nudging_method_momentum": str(none_pass(parameters.nudging_method_momentum)), + "nudging_method_scalars": str(none_pass(parameters.nudging_method_scalars)), } ds_kpt.attrs.update(**kpt_dict) nudging_specs_dict = { - "nudging_above_height": parameters.nudging_above_height_momentum, - "nudging_timescale": parameters.nudging_timescale_momentum, - "nudging_transition_shape": parameters.nudging_transition_shape_momentum, - "nudging_transition_thickness": parameters.nudging_transition_thickness_momentum, + "nudging_above_height_momentum": parameters.nudging_above_height_momentum, + "nudging_timescale_momentum": parameters.nudging_timescale_momentum, + "nudging_transition_shape_momentum": parameters.nudging_transition_shape_momentum, + "nudging_transition_thickness_momentum": parameters.nudging_transition_thickness_momentum, + "nudging_above_height_scalars": parameters.nudging_above_height_scalars, + "nudging_timescale_scalars": parameters.nudging_timescale_scalars, + "nudging_transition_shape_scalars": parameters.nudging_transition_shape_scalars, + "nudging_transition_thickness_scalars": parameters.nudging_transition_thickness_scalars, } # Filter out None values nudging_filtered_dict = { diff --git a/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion.yaml b/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion.yaml index dbc72be..959f835 100644 --- a/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion.yaml +++ b/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion.yaml @@ -26,9 +26,11 @@ surfaceForcing : ts surfaceForcingWind : z0_traj nudging_method_scalars : runtime_inversion_height nudging_transition_thickness_scalars : 500 +nudging_above_height_scalars : 500 nudging_transition_shape_scalars : cos nudging_timescale_scalars : 10800 nudging_method_momentum : runtime_inversion_height nudging_transition_thickness_momentum : 500 +nudging_above_height_momentum : 500 nudging_transition_shape_momentum : cos nudging_timescale_momentum : 10800 diff --git a/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion_prescribed_rad.yaml b/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion_prescribed_rad.yaml index dbc72be..959f835 100644 --- a/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion_prescribed_rad.yaml +++ b/lagtraj/input_definitions/examples_files/forcings_conversion/dephy_inversion_prescribed_rad.yaml @@ -26,9 +26,11 @@ surfaceForcing : ts surfaceForcingWind : z0_traj nudging_method_scalars : runtime_inversion_height nudging_transition_thickness_scalars : 500 +nudging_above_height_scalars : 500 nudging_transition_shape_scalars : cos nudging_timescale_scalars : 10800 nudging_method_momentum : runtime_inversion_height nudging_transition_thickness_momentum : 500 +nudging_above_height_momentum : 500 nudging_transition_shape_momentum : cos nudging_timescale_momentum : 10800 diff --git a/lagtraj/input_definitions/examples_files/forcings_conversion/kpt_inversion.yaml b/lagtraj/input_definitions/examples_files/forcings_conversion/kpt_inversion.yaml index add153e..8d98173 100644 --- a/lagtraj/input_definitions/examples_files/forcings_conversion/kpt_inversion.yaml +++ b/lagtraj/input_definitions/examples_files/forcings_conversion/kpt_inversion.yaml @@ -26,9 +26,11 @@ surfaceForcing : ts surfaceForcingWind : z0_traj nudging_method_scalars : runtime_inversion_height nudging_transition_thickness_scalars : 500 +nudging_above_height_scalars : 500 nudging_transition_shape_scalars : cos nudging_timescale_scalars : 10800 nudging_method_momentum : runtime_inversion_height nudging_transition_thickness_momentum : 500 +nudging_above_height_momentum : 500 nudging_transition_shape_momentum : cos nudging_timescale_momentum : 10800 diff --git a/tests/test_forcing_nudging.py b/tests/test_forcing_nudging.py index c203b75..3541b87 100644 --- a/tests/test_forcing_nudging.py +++ b/tests/test_forcing_nudging.py @@ -115,6 +115,7 @@ nudging_method_scalars: runtime_inversion_height nudging_timescale_scalars: 10800 nudging_transition_thickness_scalars: 500.0 +nudging_above_height_scalars: 500.0 nudging_transition_shape_scalars: cos """, """