Hi Jonas, hi Byungsuk Lee,

We had similar issues, but more in the opposite direction. When we compiled 
ARTS with the anaconda environment activated, we ran into issues later when 
executing ARTS. Therefore, ARTS in its default configuration automatically 
ignores conda paths that are detected when cmake is run. To disable this, you 
need to pass '-DENABLE_ALLPATHS=1' to cmake.

Since this only happens on certain configurations, we haven't been able to 
fully identify the source of this problem.

@byungsuk: Another test you could do is to use a different compiler. Since 
you're using gfortran 8.2.0, I assume that you also have gcc/g++ installed. You 
could try to compile with them instead of clang by setting them with the cmake 
options, e.g. "cmake -DCMAKE_C_COMPILER=/usr/local/bin/gcc 
-DCMAKE_CXX_COMPILER=/usr/local/bin/g++ ...'. Note that changing compilers 
requires to delete everything in your build directory, a 'make clean' is not 
enough.

cheers,
/oliver


> On 27 Sep 2018, at 11:57, Jonas Hagen <jonas.ha...@iap.unibe.ch> wrote:
> 
> Hi Byungsuk Lee
> 
> From your pasted output, I can guess that you are using conda on your ubuntu 
> machine. I had similar problems (strange crashes) when using ARTS within a 
> conda environment.
> 
> Conda / Anaconda does not only manage python stuff, but also many compiled 
> libraries.
> The solution is to compile ARTS in the environment that you wish to use for 
> execution. If you run ARTS within a Conda environment (possibly via the API), 
> then you must activate this environment also for compilation. In the other 
> case, if you want to run ARTS without conda environment, then make sure 
> nothing from Conda is used for linking. To do that, maybe updating conda can 
> help, because the newer versions make a much better separation of your system 
> libraries and managed ones. Also removing all conda related commands from 
> your bashrc (and reboot) could help.
> 
> That would be my guess.
> Best regards,
> Jonas
> 
> On 27.09.2018 10:22, Byungsuk Lee wrote:
>> Dear Simon,
>> 
>> Yes, I have sent the exact code.  
>> 
>> I have tried the code in two different computers: one is Mac and another 
>> Ubuntu. The problem still occurs on my Mac but not on my Ubuntu. Could it be 
>> due to the differences in the ARTS' configurations? Below are the output 
>> lines for the cmake command "cmake -DENABLE_C_API=1 
>> -DARTS_XML_DATA_PATH=/path/to/xml-data/ -DENABLE_FORTRAN=1 -DENABLE_NETCDF=1 
>> .." in the build directory. I am using the older version (have not updated 
>> to include the recent changes for freq shift retrieval).
>> 
>> 
>> 
>> For Mac:
>> -- The C compiler identification is Clang 7.0.0
>> -- The CXX compiler identification is Clang 7.0.0
>> -- Check for working C compiler: /usr/local/opt/llvm/bin/clang
>> -- Check for working C compiler: /usr/local/opt/llvm/bin/clang -- works
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Detecting C compile features
>> -- Detecting C compile features - done
>> -- Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++
>> -- Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++ -- works
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- The Fortran compiler identification is GNU 8.2.0
>> -- Checking whether Fortran compiler has -isysroot
>> -- Checking whether Fortran compiler has -isysroot - yes
>> -- Checking whether Fortran compiler supports OSX deployment target flag
>> -- Checking whether Fortran compiler supports OSX deployment target flag - 
>> yes
>> -- Check for working Fortran compiler: /usr/local/bin/gfortran
>> -- Check for working Fortran compiler: /usr/local/bin/gfortran  -- works
>> -- Detecting Fortran compiler ABI info
>> -- Detecting Fortran compiler ABI info - done
>> -- Checking whether /usr/local/bin/gfortran supports Fortran 90
>> -- Checking whether /usr/local/bin/gfortran supports Fortran 90 -- yes
>> -- Looking for sys/types.h
>> -- Looking for sys/types.h - found
>> -- Looking for stdint.h
>> -- Looking for stdint.h - found
>> -- Looking for stddef.h
>> -- Looking for stddef.h - found
>> -- Check size of long
>> -- Check size of long - done
>> -- Looking for stdlib.h
>> -- Looking for stdlib.h - found
>> -- Looking for string.h
>> -- Looking for string.h - found
>> -- Looking for strings.h
>> -- Looking for strings.h - found
>> -- Looking for sys/stat.h
>> -- Looking for sys/stat.h - found
>> -- Looking for sys/times.h
>> -- Looking for sys/times.h - found
>> -- Looking for unistd.h
>> -- Looking for unistd.h - found
>> -- Looking for getopt.h
>> -- Looking for getopt.h - found
>> -- Looking for pthread.h
>> -- Looking for pthread.h - found
>> -- Looking for pthread_create
>> -- Looking for pthread_create - found
>> -- Found Threads: TRUE  
>> -- Looking for fcntl.h
>> -- Looking for fcntl.h - found
>> -- Looking for math.h
>> -- Looking for math.h - found
>> -- Looking for errno.h
>> -- Looking for errno.h - found
>> -- Looking for limits.h
>> -- Looking for limits.h - found
>> -- Looking for stdio.h
>> -- Looking for stdio.h - found
>> -- Looking for locale.h
>> -- Looking for locale.h - found
>> -- Looking for pthread.h
>> -- Looking for pthread.h - found
>> -- Looking for sys/time.h
>> -- Looking for sys/time.h - found
>> -- Looking for sys/msg.h
>> -- Looking for sys/msg.h - found
>> -- Looking for netdb.h
>> -- Looking for netdb.h - found
>> -- Looking for netinet/in.h
>> -- Looking for netinet/in.h - found
>> -- Looking for netinet/tcp.h
>> -- Looking for netinet/tcp.h - found
>> -- Looking for sys/socket.h
>> -- Looking for sys/socket.h - found
>> -- Looking for sys/mman.h
>> -- Looking for sys/mman.h - found
>> -- Looking for arpa/inet.h
>> -- Looking for arpa/inet.h - found
>> -- Looking for sys/select.h
>> -- Looking for sys/select.h - found
>> -- Looking for poll.h
>> -- Looking for poll.h - found
>> -- Looking for C++ include cstdlib
>> -- Looking for C++ include cstdlib - found
>> -- Looking for C++ include cstring
>> -- Looking for C++ include cstring - found
>> -- Looking for C++ include sstream
>> -- Looking for C++ include sstream - found
>> -- Looking for C++ include ctime
>> -- Looking for C++ include ctime - found
>> -- Check size of int
>> -- Check size of int - done
>> -- Check size of size_t
>> -- Check size of size_t - done
>> -- Check size of float
>> -- Check size of float - done
>> -- Check size of double
>> -- Check size of double - done
>> -- Looking for unlink
>> -- Looking for unlink - found
>> -- Found ZLIB: /usr/lib/libz.dylib (found version "1.2.11") 
>> -- Looking for Fortran dgemm
>> -- Looking for Fortran dgemm - found
>> -- A library with BLAS API found.
>> -- Looking for Fortran cheev
>> -- Looking for Fortran cheev - found
>> -- A library with LAPACK API found.
>> -- Found NetCDF: /usr/local/lib/libnetcdf.dylib  
>> -- Found FFTW: /usr/local/lib/libfftw3.a  
>> -- Found OpenMP_C: -fopenmp=libomp (found version "3.1") 
>> -- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1") 
>> -- Found OpenMP_Fortran: -fopenmp (found version "4.5") 
>> -- Found OpenMP: TRUE (found version "3.1")  
>> -- Performing Test CCFLAG_W
>> -- Performing Test CCFLAG_W - Success
>> -- Performing Test CXXFLAG_W
>> -- Performing Test CXXFLAG_W - Success
>> -- Performing Test CCFLAG_Wall
>> -- Performing Test CCFLAG_Wall - Success
>> -- Performing Test CXXFLAG_Wall
>> -- Performing Test CXXFLAG_Wall - Success
>> -- Performing Test CCFLAG_Wshadow
>> -- Performing Test CCFLAG_Wshadow - Success
>> -- Performing Test CXXFLAG_Wshadow
>> -- Performing Test CXXFLAG_Wshadow - Success
>> -- Performing Test CCFLAG_Wconversion
>> -- Performing Test CCFLAG_Wconversion - Success
>> -- Performing Test CXXFLAG_Wconversion
>> -- Performing Test CXXFLAG_Wconversion - Success
>> -- Performing Test CCFLAG_Wno-sign-conversion
>> -- Performing Test CCFLAG_Wno-sign-conversion - Success
>> -- Performing Test CXXFLAG_Wno-sign-conversion
>> -- Performing Test CXXFLAG_Wno-sign-conversion - Success
>> -- Performing Test CCFLAG_Wno-unknown-pragmas
>> -- Performing Test CCFLAG_Wno-unknown-pragmas - Success
>> -- Performing Test CXXFLAG_Wno-unknown-pragmas
>> -- Performing Test CXXFLAG_Wno-unknown-pragmas - Success
>> -- Performing Test CCFLAG_Wno-return-type-c-linkage
>> -- Performing Test CCFLAG_Wno-return-type-c-linkage - Success
>> -- Performing Test CXXFLAG_Wno-return-type-c-linkage
>> -- Performing Test CXXFLAG_Wno-return-type-c-linkage - Success
>> -- Performing Test CCFLAG_Wno-strict-overflow
>> -- Performing Test CCFLAG_Wno-strict-overflow - Success
>> -- Performing Test CXXFLAG_Wno-strict-overflow
>> -- Performing Test CXXFLAG_Wno-strict-overflow - Success
>> -- Found arts-xml-data in /path/to/ARTS/xml-data
>> -- Disort enabled (use -DNO_DISORT=1 to disable)
>> -- RT4 enabled (use -DNO_RT4=1 to disable)
>> -- FASTEM enabled (use -DNO_FASTEM=1 to disable)
>> -- Refice enabled (use -DNO_REFICE=1 to disable)
>> -- Tmatrix enabled (use -DNO_TMATRIX=1 to disable)
>> -- RELMAT enabled (use -DNO_RELMAT=1 to disable)
>> -- HITRAN XSEC enabled (experimental)
>> -- OEM enabled
>> -- C API enabled
>> -- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.14") found 
>> components:  doxygen dot 
>> -- Found LATEX: /Library/TeX/texbin/latex   
>> -- Configuring done
>> -- Generating done
>> -- Build files have been written to: /path/to/ARTS/build
>> 
>> 
>> 
>> For Ubuntu:
>> -- The C compiler identification is Clang 6.0.0
>> -- The CXX compiler identification is Clang 6.0.0
>> -- Check for working C compiler: /usr/bin/clang
>> -- Check for working C compiler: /usr/bin/clang -- works
>> -- Detecting C compiler ABI info
>> -- Detecting C compiler ABI info - done
>> -- Detecting C compile features
>> -- Detecting C compile features - done
>> -- Check for working CXX compiler: /usr/bin/clang++
>> -- Check for working CXX compiler: /usr/bin/clang++ -- works
>> -- Detecting CXX compiler ABI info
>> -- Detecting CXX compiler ABI info - done
>> -- Detecting CXX compile features
>> -- Detecting CXX compile features - done
>> -- The Fortran compiler identification is GNU 7.3.0
>> -- Check for working Fortran compiler: /usr/bin/gfortran
>> -- Check for working Fortran compiler: /usr/bin/gfortran  -- works
>> -- Detecting Fortran compiler ABI info
>> -- Detecting Fortran compiler ABI info - done
>> -- Checking whether /usr/bin/gfortran supports Fortran 90
>> -- Checking whether /usr/bin/gfortran supports Fortran 90 -- yes
>> -- Looking for sys/types.h
>> -- Looking for sys/types.h - found
>> -- Looking for stdint.h
>> -- Looking for stdint.h - found
>> -- Looking for stddef.h
>> -- Looking for stddef.h - found
>> -- Check size of long
>> -- Check size of long - done
>> -- Looking for stdlib.h
>> -- Looking for stdlib.h - found
>> -- Looking for string.h
>> -- Looking for string.h - found
>> -- Looking for strings.h
>> -- Looking for strings.h - found
>> -- Looking for sys/stat.h
>> -- Looking for sys/stat.h - found
>> -- Looking for sys/times.h
>> -- Looking for sys/times.h - found
>> -- Looking for unistd.h
>> -- Looking for unistd.h - found
>> -- Looking for getopt.h
>> -- Looking for getopt.h - found
>> -- Looking for pthread.h
>> -- Looking for pthread.h - found
>> -- Looking for pthread_create
>> -- Looking for pthread_create - not found
>> -- Looking for pthread_create in pthreads
>> -- Looking for pthread_create in pthreads - not found
>> -- Looking for pthread_create in pthread
>> -- Looking for pthread_create in pthread - found
>> -- Found Threads: TRUE  
>> -- Looking for fcntl.h
>> -- Looking for fcntl.h - found
>> -- Looking for math.h
>> -- Looking for math.h - found
>> -- Looking for errno.h
>> -- Looking for errno.h - found
>> -- Looking for limits.h
>> -- Looking for limits.h - found
>> -- Looking for stdio.h
>> -- Looking for stdio.h - found
>> -- Looking for locale.h
>> -- Looking for locale.h - found
>> -- Looking for pthread.h
>> -- Looking for pthread.h - found
>> -- Looking for sys/time.h
>> -- Looking for sys/time.h - found
>> -- Looking for sys/msg.h
>> -- Looking for sys/msg.h - found
>> -- Looking for netdb.h
>> -- Looking for netdb.h - found
>> -- Looking for netinet/in.h
>> -- Looking for netinet/in.h - found
>> -- Looking for netinet/tcp.h
>> -- Looking for netinet/tcp.h - found
>> -- Looking for sys/socket.h
>> -- Looking for sys/socket.h - found
>> -- Looking for sys/mman.h
>> -- Looking for sys/mman.h - found
>> -- Looking for arpa/inet.h
>> -- Looking for arpa/inet.h - found
>> -- Looking for sys/select.h
>> -- Looking for sys/select.h - found
>> -- Looking for poll.h
>> -- Looking for poll.h - found
>> -- Looking for C++ include cstdlib
>> -- Looking for C++ include cstdlib - found
>> -- Looking for C++ include cstring
>> -- Looking for C++ include cstring - found
>> -- Looking for C++ include sstream
>> -- Looking for C++ include sstream - found
>> -- Looking for C++ include ctime
>> -- Looking for C++ include ctime - found
>> -- Check size of int
>> -- Check size of int - done
>> -- Check size of size_t
>> -- Check size of size_t - done
>> -- Check size of float
>> -- Check size of float - done
>> -- Check size of double
>> -- Check size of double - done
>> -- Looking for unlink
>> -- Looking for unlink - found
>> -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") 
>> -- Looking for Fortran sgemm
>> -- Looking for Fortran sgemm - found
>> -- A library with BLAS API found.
>> -- Looking for Fortran cheev
>> -- Looking for Fortran cheev - found
>> -- A library with LAPACK API found.
>> -- Found NetCDF: /usr/lib/x86_64-linux-gnu/libnetcdf.so  
>> -- Found FFTW: /usr/lib/x86_64-linux-gnu/libfftw3.so  
>> -- Found OpenMP_C: -fopenmp=libomp (found version "3.1") 
>> -- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1") 
>> -- Found OpenMP_Fortran: -fopenmp (found version "4.5") 
>> -- Found OpenMP: TRUE (found version "3.1")  
>> -- Performing Test CCFLAG_W
>> -- Performing Test CCFLAG_W - Success
>> -- Performing Test CXXFLAG_W
>> -- Performing Test CXXFLAG_W - Success
>> -- Performing Test CCFLAG_Wall
>> -- Performing Test CCFLAG_Wall - Success
>> -- Performing Test CXXFLAG_Wall
>> -- Performing Test CXXFLAG_Wall - Success
>> -- Performing Test CCFLAG_Wshadow
>> -- Performing Test CCFLAG_Wshadow - Success
>> -- Performing Test CXXFLAG_Wshadow
>> -- Performing Test CXXFLAG_Wshadow - Success
>> -- Performing Test CCFLAG_Wconversion
>> -- Performing Test CCFLAG_Wconversion - Success
>> -- Performing Test CXXFLAG_Wconversion
>> -- Performing Test CXXFLAG_Wconversion - Success
>> -- Performing Test CCFLAG_Wno-sign-conversion
>> -- Performing Test CCFLAG_Wno-sign-conversion - Success
>> -- Performing Test CXXFLAG_Wno-sign-conversion
>> -- Performing Test CXXFLAG_Wno-sign-conversion - Success
>> -- Performing Test CCFLAG_Wno-unknown-pragmas
>> -- Performing Test CCFLAG_Wno-unknown-pragmas - Success
>> -- Performing Test CXXFLAG_Wno-unknown-pragmas
>> -- Performing Test CXXFLAG_Wno-unknown-pragmas - Success
>> -- Performing Test CCFLAG_Wno-return-type-c-linkage
>> -- Performing Test CCFLAG_Wno-return-type-c-linkage - Success
>> -- Performing Test CXXFLAG_Wno-return-type-c-linkage
>> -- Performing Test CXXFLAG_Wno-return-type-c-linkage - Success
>> -- Performing Test CCFLAG_Wno-strict-overflow
>> -- Performing Test CCFLAG_Wno-strict-overflow - Success
>> -- Performing Test CXXFLAG_Wno-strict-overflow
>> -- Performing Test CXXFLAG_Wno-strict-overflow - Success
>> -- Found arts-xml-data in /path/to/ARTS/xml-data
>> -- Disort enabled (use -DNO_DISORT=1 to disable)
>> -- RT4 enabled (use -DNO_RT4=1 to disable)
>> -- FASTEM enabled (use -DNO_FASTEM=1 to disable)
>> -- Refice enabled (use -DNO_REFICE=1 to disable)
>> -- Tmatrix enabled (use -DNO_TMATRIX=1 to disable)
>> -- RELMAT enabled (use -DNO_RELMAT=1 to disable)
>> -- HITRAN XSEC enabled (experimental)
>> -- OEM enabled
>> -- C API enabled
>> -- Found Doxygen: /home/user/anaconda3/bin/doxygen (found version "1.8.14") 
>> found components:  doxygen dot 
>> -- Found LATEX: /usr/bin/latex   
>> -- Configuring done
>> -- Generating done
>> -- Build files have been written to: /path/to/ARTS/build
>> 
>> 
>> 
>> I guess I could just use my Ubuntu which does not produce the errors, but if 
>> you have time to look into this issue on Mac and pinpoint which difference 
>> may be the cause, that would be great. 
>> 
>> Thank you,
>> 
>> Lee
>> 
>>  
>> 
>> On Wed, Sep 19, 2018 at 8:09 AM Simon Pfreundschuh 
>> <simon.pfreundsc...@chalmers.se> wrote:
>> Dear Byungsuk Lee,
>> 
>> 
>> I ran your controlfile several times but I could not reproduce the errors 
>> you report.
>> 
>> For me the iteration always converges and I don't get any errors. Also the 
>> result
>> 
>> is always the same, just as expected. Is this really exactly the code that 
>> your are
>> 
>> running when you observe the errors?
>> 
>> 
>> Best,
>> 
>> 
>> Simon
>> From: Richard Larsson <ric.lars...@gmail.com>
>> Sent: Monday, September 17, 2018 11:21:57 AM
>> To: 이병석
>> Cc: Simon Pfreundschuh; arts_users...@mailman.rrz.uni-hamburg.de
>> Subject: Re: [arts-users] ARTS OEM
>>  
>> Hi,
>> 
>> Just as a warning, suppressing the bad partition function error is not good 
>> practice since it is known that they are, you know, bad.  Standard tests in 
>> ARTS fail by several tenths of Kelvin because the partition functions in 
>> ARTS are that bad.  Just run with the provided tips xml-files instead, 
>> because if your temperatures are lower than 70 K or higher than 3000 K you 
>> probably have another problem.
>> 
>> With hope,
>> //Richard
>> 
>> 2018-09-17 10:31 GMT+02:00 이병석 <cb...@aracnt.com>:
>> Hello Simon Pfreundschuh,
>> Thank you for your reply.
>> I have employed both of the suggestions and still get the irregular errors. 
>> From the same controlfile modified in the previous email, I have included 
>> and changed to the following lines:
>> OEM(method="lm",
>>    max_iter=15,
>>    display_progress=1,
>>    lm_ga_settings=[100,5,2,1000,1,99])
>> and
>> AgendaSet( inversion_iterate_agenda ){
>>  
>>  xClip(ijq = 0, limit_low = 150.0, limit_high = 350)
>>  Ignore(inversion_iteration_counter)
>>  # Map x to ARTS' variables
>>  x2artsStandard
>>  # To be safe, rerun checks dealing with the atmosphere
>>  atmfields_checkedCalc
>>  atmgeom_checkedCalc
>>  # Calculate yf and Jacobian matching x.
>>  yCalc( y=yf )
>>  # Add baseline term
>>  VectorAddVector( yf, yf, y_baseline )
>>  # This method takes cares of some "fixes" that are needed to get the 
>> Jacobian
>>  # right for iterative solutions. No need to call this WSM for linear 
>> inversions.
>>  jacobianAdjustAndTransform
>> }
>> I included both of the suggestions, and from there increased the maximum 
>> number of iterations to 15 and set the temperature limits to be between 150 
>> K and 350 K. All other lines remain the same, including the input absorption 
>> line and atmospheric fields data. 
>> Now I irregularly get the errors during the OEM computation as before, of 
>> t_field having NaN values or of bad partition function warning (which 
>> happens for any t_field value outside between 150 K and 300 K). While the 
>> bad partition function warning could be suppressed in the code, it seems 
>> that the same problem as before persists. 
>> Could you please look into this issue a little more? I am not sure how to 
>> tackle the problem. 
>> Thank you for your service.
>> Regards, 
>> Byungsuk Lee
>> 
>> ARA Consulting & Technology
>> 
>> 30 Songdomirae-ro D-1510, Yeonsu-gu, Incheon 21990, South Korea
>> 
>> 
>> 
>> -----Original Message-----
>> From: "Simon Pfreundschuh"<simon.pfreundsc...@chalmers.se> 
>> To: "이병석"<cb...@aracnt.com>; 
>> "arts_users...@mailman.rrz.uni-hamburg.de"<arts_users...@mailman.rrz.uni-hamburg.de>;
>>  
>> Cc: 
>> Sent: 2018-09-14 (금) 15:13:55
>> Subject: Re: [arts-users] ARTS OEM
>>  
>> 
>> Hi Byungsuk Lee,
>> 
>> It is a bit surprising that these errors occur irregularly, since there is 
>> no randomness
>> in the test setup. However, if you are running retrievals with external 
>> observation data
>> it may well happen that the iteration ends up in a state that produces 
>> invalid values.
>> 
>> For your temperature retrieval I would recommend one or both of the 
>> following solutions:
>> 
>> 1. Use the Levenberg-Marquardt (LM) iteration scheme: Using the LM scheme 
>> with a high start
>>    value for the gamma parameter can help avoid reaching invalid values when 
>> the forward
>>    model is non-linear:
>> 
>>       OEM(method="lm",
>>           max_iter=5,
>>           display_progress=1,
>>           lm_ga_settings=[100,5,2,1000,1,99])
>> 
>> 2. Clip the x-vector: Using the xClip WSM inside your inversion iterate 
>> agenda you can force the
>>    x vector to contain only temperatures within a certain range. If you use 
>> this approach you
>>    should check that none of the retrieved temperatures in your final state 
>> are clipped otherwise your
>>    results may not be valid.
>> 
>>     AgendaSet( inversion_iterate_agenda ){
>> 
>>       xClip(ijq = 0, limit_low = 100.0)
>>       Ignore(inversion_iteration_counter)
>>       # Map x to ARTS' variables
>>       x2artsStandard
>> 
>>       # To be safe, rerun checks dealing with the atmosphere
>>       atmfields_checkedCalc
>>       atmgeom_checkedCalc
>> 
>>       # Calculate yf and Jacobian matching x.
>>       yCalc( y=yf )
>> 
>>       # Add baseline term
>>       VectorAddVector( yf, yf, y_baseline )
>> 
>>       # This method takes cares of some "fixes" that are needed to get the 
>> Jacobian
>>       # right for iterative solutions. No need to call this WSM for linear 
>> inversions.
>>       jacobianAdjustAndTransform
>>     }
>> 
>> 
>> Regards,
>> 
>> Simon
>> 
>> From: arts_users.mi-boun...@mailman.rrz.uni-hamburg.de 
>> <arts_users.mi-boun...@mailman.rrz.uni-hamburg.de> on behalf of 이병석 
>> <cb...@aracnt.com>
>> Sent: Friday, September 14, 2018 2:31:25 AM
>> To: arts_users...@mailman.rrz.uni-hamburg.de
>> Subject: [arts-users] ARTS OEM
>>  
>> Dear ARTS users,
>> I am writing to address a question with the use of OEM in the ARTS 
>> development version.  
>> From the "TestOEM.arts" in "ARTS/controlfiles/artscomponents/oem", this time 
>> I changed the codes as follows.
>> 1) From (line 115):
>> retrievalAddAbsSpecies(
>>     species = "O3",
>>     unit = "vmr",
>>     g1 = p_ret_grid,
>>     g2 = lat_grid,
>>     g3 = lon_grid
>> )
>> To:
>> retrievalAddTemperature (
>>   g1 = p_ret_grid,
>>   g2 = lat_grid,
>>   g3 = lon_grid,
>>   hse = "off"   )
>> 2) From (line 125):
>> VectorSetConstant(vars, nelem, 1e-12)
>> DiagonalMatrix(sparse_block, vars)
>> covmat_sxAddBlock(block = sparse_block)
>> To:
>> VectorSetConstant(vars, nelem, 0.1)
>> DiagonalMatrix(sparse_block, vars)
>> covmat_sxAddBlock(block = sparse_block)
>> 3) From (line 37): 
>> NumericSet( f_start, 110.436e9 )
>> NumericSet( f_end, 111.236e9 )
>> IndexSet( nf, 801 )
>> IndexSet( np, 81 )
>> To:
>> NumericSet( f_start, 110.436e9 )
>> NumericSet( f_end, 111.236e9 )
>> IndexSet( nf, 18 )
>> IndexSet( np, 18 )
>> 4) From (line 42): 
>> VectorNLinSpace( f_grid, nf, f_start, f_end )
>> VectorNLogSpace( p_grid,    361, 500e2, 0.1 )
>> VectorNLogSpace( p_ret_grid, np, 500e2, 0.1 )
>> To: 
>> VectorNLinSpace( f_grid, nf, f_start, f_end )
>> VectorNLogSpace( p_grid,    18, 500e2, 0.1 )
>> VectorNLogSpace( p_ret_grid, np, 500e2, 0.1 )
>> Overall, I changed the ozone VMR retrieval to temperature retrieval and 
>> reduced the number of frequencies and pressure layers. 
>> When I run the controlfile multiple times, I irregularly get errors. The 
>> error messages are 
>>   Run-time error in oem computation: Forward Model Evaluation Error
>>   Run-time error in agenda: inversion_iterate_agenda
>>   Run-time error in method: atmfields_checkedCalc
>>   The variable *t_field* contains one or several NaNs. This is not allowed!
>> or
>>   All temperatures in *t_field* must be > 0.
>> or seldom the bad partition function warning. 
>> Here are my questions:
>> 1) Is this an anticipated error, simply coming from failing to find a 
>> converging solution? Is it expected that the OEM sometimes throws an error 
>> as above?  
>> 2) Are there mechanisms (e.g. workspace methods) within the ARTS that can 
>> prevent the t_field or vmr_field from becoming either negative or NaN during 
>> the OEM iterations? 
>> Thank you for your assistance.
>> Regards,
>> Byungsuk Lee
>> 
>> ARA Consulting & Technology
>> 
>> 30 Songdomirae-ro D-1510, Yeonsu-gu, Incheon 21990, South Korea
>> 
>> Email: cb...@aracnt.com 
>> 
>> 
>> _______________________________________________
>> arts_users.mi mailing list
>> 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
>> 
>> 
>> _______________________________________________
>> arts_users.mi mailing list
>> 
>> arts_users.mi@lists.uni-hamburg.de
>> https://mailman.rrz.uni-hamburg.de/mailman/listinfo/arts_users.mi
> 
> -- 
> Jonas Hagen
> Institute of Applied Physics
> University of Bern
> Sidlerstr. 5, CH-3012 Bern, Switzerland
> Tel: +41 31 631 5045
> 
> _______________________________________________
> arts_users.mi mailing list
> 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

Reply via email to