5 coreprof_out, equilibrium_out, &
6 output_flag, diagnostic_info)
34 CHARACTER(LEN=1024) :: out_info
35 INTEGER,
INTENT(OUT) :: output_flag
36 CHARACTER(LEN=:),
POINTER,
INTENT(OUT) :: diagnostic_info
39 TYPE (type_coreprof
),
POINTER :: coreprof_in(:)
40 TYPE (type_coreprof
),
POINTER :: coreprof_out(:)
41 TYPE (type_equilibrium
),
POINTER :: equilibrium_in(:)
42 TYPE (type_equilibrium
),
POINTER :: equilibrium_out(:)
44 nullify( diagnostic_info )
46 IF (.NOT.
ASSOCIATED (equilibrium_in(1)%profiles_1d%rho_tor) )
THEN
47 ALLOCATE (coreprof_out(1))
48 ALLOCATE (equilibrium_out(1))
49 out_info =
'ERROR in FC2K_PARABOLIC_PROF, EQUILIBRIUM_IN(1)%profiles_1d%rho_tor not associated'
50 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
51 diagnostic_info = out_info
52 write(*,*)diagnostic_info
57 IF (.NOT.
ASSOCIATED (equilibrium_in(1)%profiles_1d%volume) )
THEN
58 ALLOCATE (coreprof_out(1))
59 ALLOCATE (equilibrium_out(1))
60 out_info =
'ERROR in FC2K_PARABOLIC_PROF, EQUILIBRIUM_IN(1)%profiles_1d%volume not associated'
61 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
62 diagnostic_info = out_info
63 write(*,*)diagnostic_info
68 IF (.NOT.
ASSOCIATED (equilibrium_in(1)%profiles_1d%psi) )
THEN
69 ALLOCATE (coreprof_out(1))
70 ALLOCATE (equilibrium_out(1))
71 out_info =
'ERROR in FC2K_PARABOLIC_PROF, EQUILIBRIUM_IN(1)%profiles_1d%psi not associated'
72 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
73 diagnostic_info = out_info
78 IF (.NOT.
ASSOCIATED (equilibrium_in(1)%profiles_1d%f_dia) )
THEN
79 ALLOCATE (coreprof_out(1))
80 ALLOCATE (equilibrium_out(1))
81 out_info =
'ERROR in FC2K_PARABOLIC_PROF, EQUILIBRIUM_IN(1)%profiles_1d%f_dia not associated'
82 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
83 diagnostic_info = out_info
84 write(*,*)diagnostic_info
89 IF (.NOT.
ASSOCIATED (equilibrium_in(1)%profiles_1d%gm2) )
THEN
90 ALLOCATE (coreprof_out(1))
91 ALLOCATE (equilibrium_out(1))
92 out_info =
'ERROR in FC2K_PARABOLIC_PROF, EQUILIBRIUM_IN(1)%profiles_1d%gm2 not associated'
93 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
94 diagnostic_info = out_info
95 write(*,*)diagnostic_info
100 IF (.NOT.
ASSOCIATED (coreprof_in(1)%rho_tor) )
THEN
101 ALLOCATE (coreprof_out(1))
102 ALLOCATE (equilibrium_out(1))
103 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%rho_tor not associated'
104 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
105 diagnostic_info = out_info
106 write(*,*)diagnostic_info
111 IF (.NOT.
ASSOCIATED (coreprof_in(1)%psi%value) )
THEN
112 ALLOCATE (coreprof_out(1))
113 ALLOCATE (equilibrium_out(1))
114 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%psi%value not associated'
115 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
116 diagnostic_info = out_info
117 write(*,*)diagnostic_info
122 IF (.NOT.
ASSOCIATED (coreprof_in(1)%profiles1d%q%value) )
THEN
123 ALLOCATE (coreprof_out(1))
124 ALLOCATE (equilibrium_out(1))
125 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%profiles1d%q%value not associated'
126 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
127 diagnostic_info = out_info
128 write(*,*)diagnostic_info
133 IF (.NOT.
ASSOCIATED (coreprof_in(1)%profiles1d%jtot%value) )
THEN
134 ALLOCATE (coreprof_out(1))
135 ALLOCATE (equilibrium_out(1))
136 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%profiles1d%jtot%value not associated'
137 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
138 diagnostic_info = out_info
139 write(*,*)diagnostic_info
144 IF (.NOT.
ASSOCIATED (coreprof_in(1)%ne%value) )
THEN
145 ALLOCATE (coreprof_out(1))
146 ALLOCATE (equilibrium_out(1))
147 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%ne%value not associated'
148 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
149 diagnostic_info = out_info
150 write(*,*)diagnostic_info
155 IF (.NOT.
ASSOCIATED (coreprof_in(1)%ni%value) )
THEN
156 ALLOCATE (coreprof_out(1))
157 ALLOCATE (equilibrium_out(1))
158 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%ni%value not associated'
160 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
161 diagnostic_info = out_info
162 write(*,*)diagnostic_info
166 IF (.NOT.
ASSOCIATED (coreprof_in(1)%te%value) )
THEN
167 ALLOCATE (coreprof_out(1))
168 ALLOCATE (equilibrium_out(1))
169 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%te%value not associated'
170 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
171 diagnostic_info = out_info
172 write(*,*)diagnostic_info
177 IF (.NOT.
ASSOCIATED (coreprof_in(1)%ti%value) )
THEN
178 ALLOCATE (coreprof_out(1))
179 ALLOCATE (equilibrium_out(1))
180 out_info =
'ERROR in FC2K_PARABOLIC_PROF, COREPROF_IN(1)%ti%value not associated'
181 ALLOCATE(
CHARACTER(len=len(trim(adjustl(out_info)))) :: diagnostic_info )
182 diagnostic_info = out_info
183 write(*,*)diagnostic_info
190 coreprof_out, equilibrium_out)
subroutine fc2k_parabolic_prof(COREPROF_IN, EQUILIBRIUM_IN, COREPROF_OUT, EQUILIBRIUM_OUT, OUTPUT_FLAG, DIAGNOSTIC_INFO)
subroutine parabolic_prof(COREPROF_IN, EQUILIBRIUM_IN, COREPROF_OUT, EQUILIBRIUM_OUT)