online model 见LaRC fu-liou模式
主要框架
- 主程序:src/simple/simple.f90
- ==call set_default_options_fu== ==>lib/src/fuinput.f90
- ==call getatmosphere== ==>lib/src/extras.f90
- ==call generate_level_scheme== ==>lib/src/gfld.f90
- ==call print_vla_in== ==>lib/src/vla.f90
- ==call prepare_model_profile_fu== ==>lib/src/vla.f90
- ==call vla_interface_fu== ==>lib/src/vla.f90
- ==call print_vla_out== ==>lib/src/vla.f90
- ==call aer_scale_hgt== ==>lib/src/extras.f90
- ==call rad_multi_fu== ==>lib/src/rad_multi_200511.f90
- ==call pack_sky== ==>lib/src/calipso_output.f90
主程序:src/simple/simple.f90
call set_default_options_fu ==>lib/src/fuinput.f90
设置一些理想默认值,其中包括示踪气体的浓度,四种同步计算模式(CLEAR,TOTAL ,Pristine,NoaotCld)是否打开,云的设置(云量设置为0),气溶胶的设置。
- CLEAR:有气溶胶,无云
- TOTAL:有气溶胶,有云
- Prinstine:无气溶胶,无云
- NoaotCld:无气溶胶,有云
fi%lscm = .true. 四个选项全打开
call getatmosphere ==>lib/src/extras.f90
call getatmosphere(’…/…/testatms/jmls.lay ',&
FI%VI%nlev,FI%VI%pp,FI%VI%pt,FI%VI%ph,FI%VI%po,FI%pts)
从外部文件读取层数,压强,温度,湿度,臭氧,修正项0的剖面。
call generate_level_scheme ==>lib/src/gfld.f90
将jmls.lay输入的数据z,p垂直插值为我们在simple.f90中定义的我们想要的剖面(gflq%internal_levels(1:4) = (/70.,200.,500.,850./)),生成的数据用fi%vd表示。
function z1_p1(p0, t0, z0, z1) RESULT (F_Result) ==>lib/src/extras.f90
目的:给定区域表面压强、温度和高度值z0,确定该区在高度z1(m)的地面压强(hPa)
输出的F_Result是Surface pressure (hPa) corresponding to z1(SSF surface altitude)
call print_vla_in ==>lib/src/vla.f90
<-----------------------------Begin print_vla_in Begin---------------------->
FI%vi%nlev= 37
Input P(z), T(z), Q(z), O3(z) Profile
1.000 247.336 3.968E-06 3.631E-06
2.000 237.337 4.002E-06 5.582E-06
3.000 232.746 4.002E-06 7.343E-06
5.000 226.545 3.933E-06 8.931E-06
7.000 220.549 3.933E-06 8.623E-06
10.000 213.676 3.763E-06 7.714E-06
20.000 206.409 3.494E-06 5.837E-06
30.000 203.282 3.223E-06 5.244E-06
50.000 202.850 2.883E-06 4.810E-06
70.000 204.432 2.714E-06 4.125E-06
100.000 206.834 2.509E-06 2.768E-06
125.000 208.749 2.546E-06 1.880E-06
150.000 210.183 2.884E-06 1.253E-06
175.000 211.161 3.699E-06 8.648E-07
200.000 211.358 5.496E-06 6.163E-07
225.000 211.111 7.625E-06 4.310E-07
250.000 211.243 9.890E-06 2.931E-07
300.000 213.609 1.668E-05 1.326E-07
350.000 218.080 2.933E-05 7.088E-08
400.000 223.287 5.130E-05 5.233E-08
450.000 228.340 8.262E-05 4.542E-08
500.000 233.034 1.249E-04 4.210E-08
550.000 237.116 1.756E-04 4.021E-08
600.000 240.582 2.322E-04 3.895E-08
650.000 243.644 2.915E-04 3.796E-08
700.000 246.305 3.576E-04 3.757E-08
750.000 248.474 4.279E-04 3.715E-08
775.000 249.392 4.643E-04 3.684E-08
800.000 250.172 4.999E-04 3.647E-08
825.000 250.746 5.341E-04 3.618E-08
850.000 251.227 5.668E-04 3.579E-08
875.000 251.639 5.953E-04 3.531E-08
900.000 251.876 6.129E-04 3.492E-08
925.000 251.707 6.081E-04 3.444E-08
950.000 251.130 5.819E-04 3.372E-08
975.000 249.978 5.434E-04 3.231E-08
1000.000 248.629 5.014E-04 3.014E-08
FI%vd%nfix= 30
FI%vd%pfix(1:FI%vd%
1 0.057
2 0.113
3 0.225
4 0.449
5 0.896
6 1.841
7 3.836
8 8.533
9 12.726
10 19.250
11 29.303
12 44.647
13 67.805
14 102.475
15 153.857
16 230.589
17 271.071
18 318.090
19 372.042
20 432.090
21 500.318
22 576.656
23 663.452
24 711.092
25 761.690
26 815.376
27 872.633
28 933.893
29 972.970
30 986.356
FI%vd%pflo(1:FI%vd%nflo)
1 999.725
2 850.000
3 500.000
4 200.000
5 70.000
FI%vd%cldpres(1:2,i,j) CLDCND OVL
<-----------------------------END print_vla_in END--------------------------->
call prepare_model_profile_fu ==>lib/src/vla.f90
生成fi%vo
sort_input_profile
gen_vla_structure
edit_pressure_levels
find_reporting_pressure_levels
profile_interpolation 插值的关键步骤
assin_cloud_index
create_reverse_pressure_index
call vla_interface_fu ==>lib/src/vla.f90
利用fi%vo生成fi%
以上两步将其他数据也插值到对应的剖面上。插值后数据为fi%(pp,pt,ph,po)。
call print_vla_out ==>lib/src/vla.f90
<-----------------------------Begin print_vla_out Begin---------------------->
ERROR :FI%vo%ierr= 103
Number of interpolated levels (FI%vo%nlev)= 35
VLA Interpolated Profile
1 1 1. 0.057 288.770 3.824E-06-4.451E-06
2 1 1. 0.113 278.806 3.859E-06-2.508E-06
3 1 1. 0.225 268.842 3.893E-06-5.640E-07
4 1 1. 0.449 258.879 3.928E-06 1.380E-06
5 1 1. 0.896 248.915 3.962E-06 3.323E-06
6 1 1. 1.841 238.531 3.998E-06 5.349E-06
7 3 1. 3.836 229.762 3.969E-06 8.107E-06
8 5 1. 8.533 216.734 3.839E-06 8.118E-06
9 6 1. 12.726 211.148 3.670E-06 7.061E-06
10 6 1. 19.250 206.810 3.509E-06 5.941E-06
11 7 1. 29.303 203.463 3.239E-06 5.278E-06
12 8 1. 44.647 202.946 2.958E-06 4.906E-06
13 9 1. 67.805 204.282 2.730E-06 4.190E-06
14 10 2. 70.000 204.432 2.714E-06 4.125E-06
15 11 1. 102.475 207.044 2.513E-06 2.671E-06
16 13 1. 153.857 210.344 3.018E-06 1.189E-06
17 15 3. 200.000 211.358 5.496E-06 6.163E-07
18 16 1. 230.589 211.142 8.153E-06 3.989E-07
19 17 1. 271.071 212.293 1.290E-05 2.218E-07
20 18 1. 318.090 215.307 2.148E-05 1.091E-07
21 19 1. 372.042 220.462 3.938E-05 6.240E-08
22 20 3. 400.000 223.287 5.130E-05 5.233E-08
23 20 1. 432.090 226.598 7.182E-05 4.781E-08
24 22 2. 500.000 233.034 1.249E-04 4.210E-08
25 23 1. 576.656 239.001 2.064E-04 3.953E-08
26 25 1. 663.452 244.380 3.097E-04 3.785E-08
27 26 1. 711.092 246.799 3.736E-04 3.748E-08
28 27 1. 761.690 248.907 4.451E-04 3.700E-08
29 29 1. 815.376 250.527 5.211E-04 3.629E-08
30 31 2. 850.000 251.227 5.668E-04 3.579E-08
31 31 1. 872.633 251.601 5.926E-04 3.535E-08
32 34 1. 933.893 251.500 5.987E-04 3.418E-08
33 35 1. 972.970 250.070 5.464E-04 3.243E-08
34 36 1. 986.356 249.361 5.242E-04 3.132E-08
35 36 2. 999.725 248.644 5.018E-04 3.017E-08
PresTop PresBot TopIdx BotIdx CLDCND OVLCND
200.0 400.0 -10000-10000 1 1
----Reporting Level Index of Pressue level---
1 1 0.057
2 14 70.000
3 17 200.000
4 24 500.000
5 30 850.000
6 35 999.725
ERROR :FI%vo%ierr= 103
<-------------------------------END print_vla_out END ----------------------->
call aer_scale_hgt ==>lib/src/extras.f90
生成气溶胶剖面
以上,准备好了输入程序的数据。
可以用call print_in_fu查看输入数据。
call rad_multi_fu ==>lib/src/rad_multi_200511.f90
主代码,辐射传输过程。
完成传输计算后。
call pack_sky ==>lib/src/calipso_output.f90
得到四种计算方式的长波短波窗口向下向上的辐射通量。
message from check_inputs_fu INPUT ERROR : fi%ierror = 136
========================================================================================================================
Fu-Liou Model inputs in structure fi% Begin
# of Model LAYERS : 34
Solver Config Modes : T T T T
Curved Earth Airmass Co: F
nirold Ray,Ice,Wat,Gas,Kwc : F F F F F
Solar Constant (wm-2) : 1365.0000000000000
Cosine Solar Zenith : 1.0000000000000000
Cosine View Zenith : 0.80000000000000004
fu%txt : 0
Spect Emissivity : 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990
Skin Temperture (k) : 248.62899999999999
Trace Gas Concentration__________________________________________________________
CO2 Conc (ppmv) : 360.00000000000000
CH4 Conc (ppmv) : 1.7500000000000000
N2O Conc (ppmv) : 0.31000000000000000
CFCs Conc (ppv) : 2.6800000000000001E-010 5.0300000000000002E-010 1.0500000000000000E-010
Option Selection_________________________________________________________________
>4 micron solar lband6a: T
Continuum option sel : 5
# of LW bands >2200cm-1: 2
Hybrid solver option : T
Solver option : 1
Window instrument : 0
Fourstream Sol fourssl : F
Fourstream IR foursir : F
Cloud lwc profile flag : 2
Aerosols__________________________________________________________________________
#Aerosol Taus : 1
#Aerosol Constituents : 2
Aer.Wavelength(s)(micron) 0.641
-Aerosol Type : 2
Aer. Optical Depth(s) 0.80000
-Aerosol Type : 1
Aer. Optical Depth(s) 0.20000
Profiles__________________________________________________________________________
Level.Pres(hPa).Temp(K).H20(g/g).RH(%)..O3(g/g)...AOT%PROFILES
1 0.06 288.77 3.82E-06 -0.0-4.45E-06 0.00 0.00
2 0.11 278.81 3.86E-06 -0.0-2.51E-06 0.00 0.00
3 0.23 268.84 3.89E-06 -0.0-5.64E-07 0.00 0.00
4 0.45 258.88 3.93E-06 -0.0 1.38E-06 0.00 0.00
5 0.90 248.91 3.96E-06 0.0 3.32E-06 0.00 0.00
6 1.84 238.53 4.00E-06 0.0 5.35E-06 0.00 0.00
7 3.84 229.76 3.97E-06 0.0 8.11E-06 0.00 0.00
8 8.53 216.73 3.84E-06 0.3 8.12E-06 0.00 0.00
9 12.73 211.15 3.67E-06 0.9 7.06E-06 0.00 0.00
10 19.25 206.81 3.51E-06 2.4 5.94E-06 0.01 0.01
11 29.30 203.46 3.24E-06 5.6 5.28E-06 0.02 0.02
12 44.65 202.95 2.96E-06 8.4 4.91E-06 0.05 0.05
13 67.80 204.28 2.73E-06 9.6 4.19E-06 0.01 0.01
14 70.00 204.43 2.71E-06 9.7 4.12E-06 0.15 0.15
15 102.47 207.04 2.51E-06 9.0 2.67E-06 0.45 0.45
16 153.86 210.34 3.02E-06 10.2 1.19E-06 0.69 0.69
17 200.00 211.36 5.50E-06 20.9 6.16E-07 0.63 0.63
18 230.59 211.14 8.15E-06 36.8 3.99E-07 1.08 1.08
19 271.07 212.29 1.29E-05 58.5 2.22E-07 1.64 1.64
20 318.09 215.31 2.15E-05 76.3 1.09E-07 2.45 2.45
21 372.04 220.46 3.94E-05 83.9 6.24E-08 1.53 1.53
22 400.00 223.29 5.13E-05 82.5 5.23E-08 1.99 1.99
23 432.09 226.60 7.18E-05 83.5 4.78E-08 5.08 5.08
24 500.00 233.03 1.25E-04 79.4 4.21E-08 7.29 7.29
25 576.66 239.00 2.06E-04 78.2 3.95E-08 10.45 10.45
26 663.45 244.38 3.10E-04 76.6 3.79E-08 6.81 6.81
27 711.09 246.80 3.74E-04 77.4 3.75E-08 8.11 8.11
28 761.69 248.91 4.45E-04 79.9 3.70E-08 9.64 9.64
29 815.38 250.53 5.21E-04 85.4 3.63E-08 6.81 6.81
30 850.00 251.23 5.67E-04 90.4 3.58E-08 4.71 4.71
31 872.63 251.60 5.93E-04 93.6 3.54E-08 13.80 13.80
32 933.89 251.50 5.99E-04 102.2 3.42E-08 9.63 9.63
33 972.97 250.07 5.46E-04 111.8 3.24E-08 3.45 3.45
34 986.36 249.36 5.24E-04 116.6 3.13E-08 3.53 3.53
35 999.73 248.64 5.02E-04 121.5 3.02E-08 1.00 1.00
Spectral Surface Albedo WITH AEROSOLS::
Spect Surface albedo:w/AOT CLEAR 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
Spect Surface albedo:w/AOT Cloud 1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
Spectral Surface Albedo WITHOUT Aerosol::
Spect Surface albedo:NOAOT CLEAR 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
Spect Surface albedo:NOAOT Cloud 1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
================================================================================
CLOUDS:: 1 1
Fractions : 1.000
DPI mode: F
#Overlaps : 1
-------------------------
Opt Depth : 10.000
RPhase : 2.00
Re : 15.00
De : 60.00
Top:Bot Lay#:********
Top:Bot Pres: 0 0
Nu .......: 0.0
Mn_lin_tau: 11.5
Fu-Liou Model inputs in structure fi% End
========================================================================================================================
SHORTWAVE Down--------------- Shortwave Up------------------
# Presure Height Clear Prist Total TotNOA Clear Prist Total TotNOA
Lev [hPa] [meters] Down Down Down Down Up Up Up UP
1 0.06 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2 70.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
3 200.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
4 500.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
5 850.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
6 999.73 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
LONGWAVE Down---------------- Longwave Up------------------
# Presure Height Clear Prist Total TotNOA Clear Prist Total TotNOA
Lev [hPa] [meters] Down Down Down Down Up Up Up UP
1 0.06 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2 70.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
3 200.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
4 500.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
5 850.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
6 999.73 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
WINDOW Down------------------ WINDOW Up--------------------
# Presure Height Clear Prist Total TotNOA Clear Prist Total TotNOA
Lev [hPa] [meters] Down Down Down Down Up Up Up UP
1 0.06 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
2 70.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
3 200.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
4 500.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
5 850.00 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
6 999.73 0. 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
STOP Simple.f90 normal end
遇到臭氧插值为负数的问题,进入gfld.f90修改hmax为四万米