LBLRTM メモ

準備

以下では, <TOPDIR> = ~/work/AER とする.

使用コンパイラ

  • gfortran gcc version 4.9.2 (Debian 4.9.2-10)

使用ファイル (バージョン)

  • aer_v_3.5.tar.gz
  • aer_lblrtm_v12.7.tar.gz
  • aerlnfl_v3.0.tar.gz
  • aerradsum_v2.7.tar.gz

ファイル展開

$ cd <TOPDIR>

$ tar xvf aer_v_3.5.tar.gz

aer_v_3.5 ができた

$ tar xvf aer_lblrtm_v12.7.tar.gz

lblrtm ができた

$ tar xvf aerlnfl_v3.0.tar.gz

lnfl_v3.0.1 ができた

$ tar xvf aerradsum_v2.7.tar.gz

radsum ができた

コンパイル

lnfl

$ cd <TOPDIR>
$ cd lnfl_v3.0.1/build
$ lv README.build_instructions

$ make -f make_lnfl linuxGNUsgl

lblrtm

$ cd <TOPDIR>
$ cd lblrtm/build
$ lv README.build_instructions

$ make -f make_lblrtm linuxGNUdbl

radsum

$ cd <TOPDIR>
$ cd radsum/build
$ lv README.build_instructions

$ cp <TOPDIR>/radsum/src/util_linux_pgi.f <TOPDIR>/radsum/src/util_gfortran.f
  • <TOPDIR>/radsum/src/util_gfortran.f を編集
    • 下の文を追加

      integer*4 ivalues(3)
    • 下の文を編集

      CALL IDATE(iday,imon,iyear)
      ->
      CALL IDATE(ivalues)
      iday  = ivalues(1)
      imon  = ivalues(2)
      iyear = ivalues(3)
      
      INTEGER*4 IARRAY(3)
      ->
      INTEGER*8 IARRAY(3)

実行

lnfl

  • 準備

    $ cd <TOPDIR>
    $ cd lnfl_v3.0.1
    $ mkdir -p run/all_00000-50025
    $ cd run/all_00000-50025
    $ cp ../../run_examples/run_example_infrared/run_lnfl .
    $ cp ../../run_examples/run_example_infrared/TAPE5_ex .
    $ ln -s ../../*_param .
    $ ln -s ../../../aer_v_3.5/line_file/aer_v_3.5 .
  • run_lnfl を変更

    time lnfl $line_file
    ->
    time ./lnfl $line_file
    
    set lnfl_ex = "../../lnfl_v3.0.1_linux_pgi_sgl"
    ->
    set lnfl_ex = "../../lnfl_v3.0.1_linux_gnu_sgl"
  • TAPE5_ex を変更 (変更後のファイル)

      300.      3500.
    ->
         0.     50025.
  • 実行

    $ ./run_lnfl

lblrtm & radsum

  • 準備

    $ cd <TOPDIR>
    $ mkdir -p run/testdir
    $ cd run/testdir
    
    $ ln -s ../../lblrtm/lblrtm_v12.7_linux_gnu_dbl lblrtm
    $ ln -s ../../radsum/radsum_v2.7_linux_gnu_dbl radsum
    
    $ ln -s ../../lnfl_v3.0.1/run/all_00000-50025/TAPE3_aer_v_3.5 TAPE3
  • 下のファイルをダウンロード.
  • 実行

    $ bash trp.script.run_radsum
  • 結果の例