i like this post (click again to cancel)
i dont like this post (click again to cancel) remove favorite mark from this question (click again to restore mark)

Dear all, In topspin, what's the initial value for l0, 0 or 1? what's the initial value for d0, 0 or in0?

Thanks in advance, Zhengfeng

asked Dec 04 '14 at 18:07

Frey's gravatar image


2 Answers:
i like this answer (click again to cancel)
i dont like this answer (click again to cancel)

L0 is just a loop counter, the initial value is whatever it's set to (either in the foreground parameters or by a statement in the pulse program).

For D0 it's the same - for pulse programs using delayed sampling it would be set in the pulse program e.g. in noesygpph:


to give exact 90/-180 phc0/phc1 in F1

For experiments not using delayed sampling it will either be set to a small value in the pulse program (historically not possible to have a delay of length zero), e.g. 3u, or if not defined in the pulse program the user can set it to a small value (if a specific value is needed then it will usually be calculated in the pulse program rather than left undefined for the user to set).

For the required phase correction in indirect dimensions these are usually indicated in the pulse program, at the bottom.

Does that help?


answered Dec 05 '14 at 11:26

Pete%20Gierth's gravatar image

Pete Gierth

Thanks Pete! For l0, I'm confused with the statements ----------------- 3 (p5 ph3 fq=cnst22 pl28):f2 lo to 3 times l0 ------------------ If l0 set to 0, the statement won't be executed. But for "lo to label times n", the n should be >=1 as stated in the topspin pulse manual. Am I right? - Frey (Dec 07 '14 at 23:07)

In the "cpdarr" sequence, no explicit assignment for d0. Thus, I guess the initial value should be 0 if no explicit assignment, and the id0 increments d0 by in0 for 2D experiments. Am I right? - Frey (Dec 07 '14 at 23:16)

Yes, if D0 not assigned then should be zero. The increment is in0 assuming the MC line in the pulse sequence has id0 in the MC command, e.g. : d11 MC #0 to 2 F1PH(ip2, id0) or there is explicit looping with an id0 statement in. Can you post the full pulse program text? - Pete Gierth (Dec 08 '14 at 11:04)

i like this answer (click again to cancel)
i dont like this answer (click again to cancel)

;cpdarr(TopSpin 2.1) ;spin diffusion with DARR, ;13C?1H dipolar-assisted rotational resonance in magic-angle spinning NMR ;K. Takegoshi, Shinji Nakamura and Takehiko Terao ;"13C-1H dipolar-assisted rotational resonance in magic-angle spinning NMR" ;rotor synchronized, set cnst31=spin rate, spin rate regulation ;recommended

;Avance III version ;parameters: ;d1 : recycle delay ;d0 : =1u, t1 evolution period ;in0 : = 1/swh{F1}, sw1=sw2 ;pl1 : X power level ;pl11 : power level for X pulses ;sp0 : proton power level during contact ;pl2 : =120dB, not used ;pl12 : power level for H 90 and standard proton decoupling ;pcpd2 : pulse length in decoupling sequence ;p15 : contact time at pl1 (f1) and pl2 (f2) ;p10 : pulse length for FSLG shape ;p3 : H 90 degree pulse ;p1 : X 90 degree pulse ;p2 : adiabatic refocussing pulse, usually 1 rotation period ;cpdprg2 : sequence used for decoupling (tppm15, cw, etc.) ;cpdprg1 : cw13, set pl13 to RF-field n*spin rate, n=1-3 or 120 dB for PDSD ;spnam0 : file name for variable amplitude CP ;cnst21 : =0, proton offset ;cnst31 : spinning frequency ;l1 : number of rotor cycles for mixing time, 10-100 msec mix should do ;FnMode : STATES-TPPI

;$COMMENT=exchange NMR (PDSD, DARR) in rotating solids, rotor synchronized ;$CLASS=Solids ;$DIM=2D ;$TYPE=cross polarisation ;$SUBTYPE=homonuclear correlation ;$OWNER=Bruker

define loopcounter count


define delay tau



define delay mix


;cnst11 : to adjust t=0 for acquisition, if digmod = baseopt



1 ze



#include <rot_prot.incl>

#include <p15_prot.incl>

#include <aq_prot.incl>

2 d1 do:f2


2u fq=cnst23:f2

2u fq=cnst22:f2

2u fq=cnst21:f2

(p3 pl12 ph1):f2

(p15 pl1 ph2):f1 (p15:sp0 ph10):f2

d0 cpds2:f2

(p1 pl11 ph3):f1 (1u cpds1):f2

5 tau ;mixing time with DARR mixing

lo to 5 times l1

(p1 pl11 ph5):f1 (1u cpds2):f2

go=2 ph31

1m do:f2

100m wr #0 if #0 zd

1m ip2

lo to 2 times 2

1m id0

lo to 2 times count

HaltAcqu, 1m

6 exit

ph1=1 3


ph3= 0 0 0 0 2 2 2 2

ph5=0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2

ph10=0 0 2 2

ph31=0 2 2 0 2 0 0 2 2 0 0 2 0 2 2 0


answered Dec 08 '14 at 22:48

Frey's gravatar image


updated Dec 08 '14 at 22:53

OK, so here we have explicit looping, with States-TPPI. The incrementation of D0 is done by the "1m id0" line before "lo to 2 times count", and the initial value of D0 can be 0, at least on current hardware. - Pete Gierth (Dec 10 '14 at 13:35)

For the mixing block 5 tau ;mixing time with DARR mixing lo to 5 times l1 if l1 is set to 0 then this loop is really not executed, you get zero mixing time. - Pete Gierth (Dec 10 '14 at 13:35)

Thanks! According to your explanation, I guess the "lo to label times n, ... The loopcounter n can be a number or a symbolic loopcounter l0 - l31, where the latter interpret the parameters L[0] - L[31]. It must be equal to or greater than 1." in page 61 of the pulse manual is wrong. - Frey (Dec 12 '14 at 01:14)

Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a good answer, for discussions, please use comments and please do remember to vote (login to vote)
toggle preview

powered by CNPROG