Erratum,

Sorry, this was wrong of me.  You have to create an ArrayOfIndex of the
active species.  So you need to load an ArrayOfIndex the length of
abs_species and fill it with 0,1,2,3,4,5,...n-1, where n is the number of
species you are using.

Sorry about the spam,
//Richard

2016-02-16 14:31 GMT+01:00 Richard Larsson <[email protected]>:

> Dear Pengwang,
>
> Yeah, you have to copy abs_species to abs_species active.  I forgot about
> that.  The Copy( out, in ) function does that so add
>
> Copy( abs_species active, abs_species)
>
> before you call the xsec agenda.
>
> To explain the reasoning for the active tag:  Not all species can be
> handled by the xsec calculations.  So some must be inactive.  For your
> calculations --- that is to emulate how the old abs_coefCalc worked as I
> understand it --- this is not a problem.
>
> //Richard
>
>
>
> 2016-02-16 13:44 GMT+01:00 Pengwang Zhai <[email protected]>:
>
>> Thanks, Richard.  I tried your suggestion.  Unfortunately, it does not
>> work. The error message is:
>>
>> arts TestAbsCoeff.arts
>>
>> Version: arts-2.2.57 (compiled Fri Feb 12 21:05:27 2016)
>> Executing Arts
>> {…
>> …
>> …
>> }
>> This run took 11.10s (11.07s CPU time)
>> Run-time error in controlfile: TestAbsCoeff.arts
>> Run-time error in method: AgendaExecute
>> Run-time error in method: abs_xsec_per_speciesInit
>> Method abs_xsec_per_speciesInit needs input variable: abs_species_active
>> Stopping ARTS execution.
>> Goodbye.
>>
>> Here is the script:
>>
>>
>> ____________________________
>>
>> #DEFINITIONS:  -*-sh-*-
>> #
>> # An example ARTS controlfile that calculates absorption
>> # coefficients.
>> # SAB 16.06.2000
>>
>> Arts2 {
>>
>> INCLUDE "general/general.arts"
>> INCLUDE "general/continua.arts"
>> INCLUDE "general/agendas.arts"
>> INCLUDE "general/planet_earth.arts"
>>
>> # Agenda for scalar gas absorption calculation
>> Copy(abs_xsec_agenda, abs_xsec_agenda__noCIA)
>> # on-the-fly absorption
>> Copy( propmat_clearsky_agenda, propmat_clearsky_agenda__OnTheFly )
>>
>> abs_linesReadFromHitran( abs_lines,
>>        "/RT/HITRAN/HITRAN2012.par",
>>         3.880627143214052e+14,
>>         3.961610390054004e+14 )
>>
>> abs_speciesSet( species=[ "H2O-PWR98",
>>                           "O2-PWR93" ] )
>>
>> # This separates the lines into the different tag groups and creates
>> # the workspace variable `abs_lines_per_species':
>> abs_lines_per_speciesCreateFromLines
>>
>> # Dimensionality of the atmosphere
>> AtmosphereSet1D
>>
>> VectorNLogSpace( p_grid, 200, 100000, 10 )
>>
>> # Atmospheric profiles
>> AtmRawRead( t_field_raw, z_field_raw, vmr_field_raw, abs_species,
>> "testdata/tropical" )
>>
>> # Now interpolate all the raw atmospheric input onto the pressure
>> # grid and create the atmospheric variables `t_field', `z_field',
>> `vmr_field'
>> AtmFieldsCalc
>>
>> # Initialize the input variables of abs_coefCalc from the Atm fields:
>> AbsInputFromAtmFields
>>
>> # Create the frequency grid `f_grid':
>> VectorNLinSpace( f_grid, 25000,3.880627143214052e+14,
>> 3.961610390054004e+14 )
>>
>> IndexSet(stokes_dim, 1)
>>
>> # Calculate absorption coefficients, both total (`abs_coef') and
>> # separately for each tag group (`abs_coef_per_species'):
>>
>> atmfields_checkedCalc
>> abs_xsec_agenda_checkedCalc
>> AgendaExecute(abs_xsec_agenda)
>> abs_coefCalcFromXsec
>>
>> # Optionally write these to files:
>> WriteXML( output_file_format,abs_coef_per_species)
>> }
>>
>> ____________________________
>>
>> > On Feb 16, 2016, at 3:15 AM, Richard Larsson <[email protected]>
>> wrote:
>> >
>> > Dear Pengwang Zhai,
>> >
>> > I think we still have what you are looking for in ARTS.
>> >
>> > The variable you are actually interested in is not abs_coef, but
>> abs_coef_per_species.
>> >
>> > The way to create this is to first run abs_xsec_agenda and then
>> abs_coefCalcFromXsec.
>> >
>> > I think your code should only change from:
>> >
>> > abs_coefCalc
>> >
>> > to
>> >
>> > abs_xsec_agendaExecute
>> > abs_coefCalcFromXsec
>> >
>> > Now abs_coef_per_species is an array of matrices.  The array-size is
>> the species and the matrices are the size of f_grid and p_grid.  Save this
>> and do what you want with it.
>> >
>> > This said, there is potentially a few other changes depending on what
>> version you are using and what species you are interested in.  You will
>> want to run jacobianOff, for instance, if you are using the dev-branch.
>> >
>> > Cheers,
>> > //Richard
>> >
>> > 2016-02-15 22:11 GMT+01:00 Pengwang Zhai <[email protected]>:
>> > Thanks, Jana.
>> >
>> > > Note that for deriving abs_coef for this, you need to sum up over all
>> species (i.e. over the 0th dimension of propmat_clearsky_field.
>> >
>> > This is exactly what I wanted to do within arts to get “abs_coef”.  If
>> it is not possible with arts, I will use matlab to do this.
>> >
>> > The three dimensions are: [species, f_grid, p_grid]
>> >
>> > Cheers,
>> >
>> > PZ
>> >
>> >
>> > > On Feb 15, 2016, at 3:47 PM, Jana Mendrok <[email protected]>
>> wrote:
>> > >
>> > > Hi,
>> > >
>> > > what do you intend to do with abs_coeff_user?
>> > > Do you really process this further within ARTS itself? only then it
>> makes sense to process propmat_clearsky_field into a Tensor3*, i think.
>> > > Else, I strongly recommend to do any re-shaping / reduction outside
>> of ARTS; other programming languages are much better suited for this kind
>> of task (e.g. you can use the matlab-interface atmlab to have easy access
>> to ARTS output. or the python interface typhon).
>> > >
>> > > abs_coef was a Matrix of dimension [f_grid, abs_p] (and
>> abs_coef_per_species an Array holding one abs_coef matrix per defined
>> abs_species).
>> > > propmat_clearsky_field is a Tensor7 of dimension [species, f_grid,
>> stokes_dim, stokes_dim, p_grid, lat_grid, lon_grid].
>> > >
>> > > That is, for reducing propmat_clearsky_field to what was
>> abs_coef_per_species before would be
>> > > propmat_clearsky_field[:, :, 0, 0, :, lat_index, lon_index] (in case
>> of 0-indexed varibales; in case of a 1D calculation furthermore
>> lat_index=lon_index=0). As far as I know, that's not possible (at least not
>> easily possible) within ARTS itself.
>> > >
>> > > Note that for deriving abs_coef for this, you need to sum up over all
>> species (i.e. over the 0th dimension of propmat_clearsky_field.
>> > >
>> > > Best wishes,
>> > > Jana
>> > >
>> > >
>> > > ps.
>> > > *by the way, what are the 3 dimensions? neither abs_coeff nor
>> abs_coef_per_species is (or has been for a long time) a Tensor3. That is,
>> you must have post-processed abs_coef(_per_species) anyways?
>> > >
>> > > On Mon, Feb 15, 2016 at 6:09 PM, Pengwang Zhai <[email protected]>
>> wrote:
>> > > Thanks, Jana.  Too bad that the only arts feature that I am using is
>> now obsolete.
>> > >
>> > > Now given propmat_clearsky_field, can I somehow obtain abs_coeff from
>> it?
>> > >
>> > > I used the following commands to create abs_coeff_user, which is the
>> absorption coefficients per specie,
>> > >
>> > > Tensor3Create(abs_coeff_user)
>> > > Reduce(abs_coeff_user,propmat_clearsky_field)
>> > >
>> > > can I add the coefficients per specie abs_coeff_user together to
>> create abs_coeff within arts?
>> > >
>> > > I could do this with other tools but wish to know how to do in arts,
>> which is more convenient.
>> > >
>> > > Thanks,
>> > >
>> > > Pengwang
>> > >
>> > >
>> > > > On Feb 15, 2016, at 12:00 PM, Jana Mendrok <[email protected]>
>> wrote:
>> > > >
>> > > > Dear Pengwang,
>> > > >
>> > > > please take a look at the workspace variable propmat_clearsky_field
>> (and the workspace method propmat_clearsky_fieldCalc, that calculates this
>> variables). Could they probably provide the output you need?
>> > > >
>> > > > abs_coef and its *Calc method are obsolete and not supported
>> anymore.
>> > > >
>> > > > Best wishes,
>> > > > Jana
>> > > >
>> > > >
>> > > > On Mon, Feb 15, 2016 at 4:30 PM, Pengwang Zhai <[email protected]>
>> wrote:
>> > > > Hi,
>> > > >
>> > > > I used earlier version of ARTS to calculate the total absorption
>> coefficients with:
>> > > >
>> > > > abs_coefCalc
>> > > >
>> > > > and found it is very useful.  Now with the new version, this does
>> not work any more. After reading the change log I found that it is replaced
>> with
>> > > >
>> > > > abs_coefCalcFromXsec
>> > > >
>> > > > However, after numerous attemps I could not make this method
>> working for me.  Would you please provide a template arts file on the usage
>> of this method?
>> > > >
>> > > > Thanks very much and hope all the best,
>> > > >
>> > > > Yours
>> > > >
>> > > > _______________________________________________
>> > > > arts_users.mi mailing list
>> > > > [email protected]
>> > > > https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi
>> > > >
>> > > >
>> > > >
>> > > > --
>> > > >
>> =====================================================================
>> > > > Jana Mendrok, Ph.D. (Project Assistent)
>> > > > Chalmers University of Technology
>> > > > Earth and Space Sciences
>> > > > SE-412 96 Gothenburg, Sweden
>> > > >
>> > > > Phone : +46 (0)31 772 1883
>> > > >
>> =====================================================================
>> > >
>> > >
>> > >
>> > >
>> > > --
>> > > =====================================================================
>> > > Jana Mendrok, Ph.D. (Project Assistent)
>> > > Chalmers University of Technology
>> > > Earth and Space Sciences
>> > > SE-412 96 Gothenburg, Sweden
>> > >
>> > > Phone : +46 (0)31 772 1883
>> > > =====================================================================
>> >
>> > _______________________________________________
>> > arts_users.mi mailing list
>> > [email protected]
>> > https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi
>> >
>>
>>
>
_______________________________________________
arts_users.mi mailing list
[email protected]
https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi

Reply via email to