Dear Richard,
Thanks for the detailed explanation. I used the following line as a workaround for now and it seems to work fine. ws.timeNow() ws.ArrayOfTimeSetConstant(ws.sensor_time, 1, ws.time) No stress then but I am looking forward to your new implementation. Thanks again and best regards, Eric ________________________________ De : Richard Larsson <ric.lars...@gmail.com> Envoyé : mardi 16 février 2021 16:26:49 À : Patrick Eriksson Cc : Sauvageat, Eric (IAP); arts_users...@mailman.rrz.uni-hamburg.de Objet : Re: [arts-users] sensor_time definition through PyARTS Hi, This is my fault. Explanation if wanted: sensor_time is now a different type. It now stores actual time stamps like "1970-01-01 01:00:01" (which is what "1" means in time stamps if you are in CET). I will fix it so you can set the time from a numpy array again in pyarts. However, I don't understand the workspace interactions all that well. The solution you will have to use before that is fixed will look like this: pyarts.classes.from_workspace(ws.sensor_time).data = np.array([1]) or pyarts.classes.from_workspace(ws.sensor_time).data = [1] or pyarts.classes.from_workspace(ws.sensor_time).data = ["2021-02-16 16:19:00"] I am committing code for this shortly and it should be updated and merged soon. Note that you have reading/writing routines for all ARTS variables via the "pyarts.classes.from_workspace(x).savexml("filename.xml")" interface. In addition about the new type for time, using pyarts.classes.Time.TimeGrid(pyarts.classes.from_workspace(ws.sensor_time)), you will be able to use matplotlib's time-series plotting features if you are so inclined. I hope we can find a way so that when there are no explicit workspace methods, then the fall-back is to use the pyarts.classes interface but my python is not that good to fix this myself. Anyways, please give it a day or so for the code to do the above to be merged before updating the development branch and you should have vector-interaction back. With hope, //Richard Den tis 16 feb. 2021 kl 15:05 skrev Patrick Eriksson <patrick.eriks...@chalmers.se<mailto:patrick.eriks...@chalmers.se>>: Hi, There is the same/similar problem on the Matlab side (as there is no writing and reading of xml-files including the time group). So a general hint for all. If you just want to set sensor_time to some value, you can do this by these method calls timeNow ArrayOfTimeSetConstant( sensor_time, 1, time ) Bye, Patrick On 2021-02-16 14:53, eric.sauvag...@iap.unibe.ch<mailto:eric.sauvag...@iap.unibe.ch> wrote: > Dear ARTS community, > > > In order to try a recent fix suggested and implemented (commit n. > 5951a72fbef6d7ac9a3de8d2c503b58ef5af7d17, fromTyphon mailing list) on > the development version of ARTS I came into another problem trying to > implement my ground-based retrievals through PyARTS. In fact, I can't > succeed anymore in setting the sensor_time variable through PyARTS, > which is then required to perform the retrievals. > > > I'm not sure if something got mixed maybe between the 2 ARTS version > installed on my laptop and the 2 attached PyARTS versions (each in a > separate conda env) or if this is really a bug from the development > version. > > > As a very short example, please find below a minimalist python script > that reproduces the problem. It seems to work fine if I use ARTS2.4 and > produces the following error with ARTS Dev version: > > > > ############################################################################### > import os > import numpy as np > import xarray as xr > import matplotlib.pyplot as plt > > from pyarts.workspace import Workspace, arts_agenda > from dotenv import load_dotenv > > #load_dotenv('/home/eric/Documents/PhD/ARTS/arts-examples/.env.t490-arts2.5') > load_dotenv('/home/eric/Documents/PhD/ARTS/arts-examples/.env.t490-arts2.4') > ARTS_DATA_PATH = os.environ['ARTS_DATA_PATH'] > ARTS_BUILD_PATH = os.environ['ARTS_BUILD_PATH'] > ARTS_INCLUDE_PATH = os.environ['ARTS_INCLUDE_PATH'] > > def test_sensor(): > # Initializing Workspace object > ws = Workspace(verbosity=0, agenda_verbosity=0) > ws.execute_controlfile("general/general.arts") > ws.execute_controlfile("general/agendas.arts") > ws.execute_controlfile("general/continua.arts") > ws.execute_controlfile("general/planet_earth.arts") > > ws.sensor_los = np.array([50]) > ws.sensor_pos = np.array([1e3]) > ws.sensor_time = np.array([1]) > > print('sensor_time is :', ws.sensor_time.value) > > if __name__=="__main__": > test_sensor() > > ############################################################################### > > > > _______________________________________________ > arts_users.mi mailing list > arts_users.mi@lists.uni-hamburg.de<mailto:arts_users.mi@lists.uni-hamburg.de> > https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi > _______________________________________________ arts_users.mi mailing list arts_users.mi@lists.uni-hamburg.de<mailto:arts_users.mi@lists.uni-hamburg.de> https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi
_______________________________________________ arts_users.mi mailing list arts_users.mi@lists.uni-hamburg.de https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi